Note that you said "I'm not sure about the nature of the integer it
wants."

It wants a resource id.  Resource ids are what you get when you refer
to a R.drawable.xxx symbol.  The most straight-forward way to handle
your situation is as Kantesh suggested -- construct an int array of
the resource ids you wish to select from.  Or, if you will likely only
ever refer to one or two of a large set of options, use a switch
statement to select between options:

int the resourceId;
switch(someVariable) {
  case someConst1:
    theResourceId = R.drawable.Team1;
    break;
  case someConst2;
    theResourceId = R.drawable.Team2;
    break;
  .....
}

Drawable theDrawable = myResources.getDrawable(theResourceId);

You can also use the Resources.getIdentifier method to convert the
string name of a resource to its resource id, but, as Kostya stated,
that's less efficient in most circumstances.  However, it might be
more convenient if what you have coming in is a string that exactly
corresponds to the drawable name you want, or some portion thereof:

String someFullyQualifiedResourceNameString = drawableNameStringPrefix
+ teamName;
int theResourceId =
myResources.getIdentifier(someFulllyQualifiedResourceNameString, null,
null);
Drawable theDrawable = myResources.getDrawable(theResourceId);

On Sep 14, 10:24 am, nextgen <nextgenfant...@comcast.net> wrote:
> Thank you for this, it gives me a possible solution.  Unfortunately
> getDrawable will only take an integer as an input, which really
> defeats the simplicity of solution I'm looking for.  I can set about
> assigning integers to each team, but I'm not sure that would even do
> it because I'm not sure about the nature of the integer it wants.
> Here is the description I see in Eclipse:
>
> "The desired resource identifier, as generated by the aapt tool. This
> integer encodes the package, type, and resource entry. The value 0 is
> an invalid identifier."
>
> Unfortunately I don't understand that.  I'm relatively new to android
> and java.  Any other thoughts would be greatly appreciated.
>
> Thanks!
>
> On Sep 14, 3:34 am, KANTESH BABANNAVAR <kantesh...@gmail.com> wrote:
>
> > I think it may help you..
>
> > getresources().getDrawable(TeamArray[position]);
>
> > Where TeamArray[position] = {
> > R.drawable.drawable1,
> > R.drawable.drawable2,
> > .
> > .
> > R.drawable.drawableN,
>
> > }
>
> > These links may help 
> > you..http://developer.android.com/resources/tutorials/views/hello-gridview.......
>
> > On Sep 14, 8:49 am, nextgen <nextgenfant...@comcast.net> wrote:> I am doing 
> > an app related to football.  I have a list view that will
> > > have various rows representing teams.  In my custom array adapter I
> > > want to write some code that will present an icon for the team
> > > represented by the row.  I have a drawable resource for each team (for
> > > instance for Indianapolis, Ind.png).
>
> > > In my code I can't refer to "R.drawable.Ind" because the Ind part is
> > > dynamic.  That value would be in an array, like TeamArray[position].
> > > As I expected, I certainly can't use R.drawable.TeamArray[position]
> > > because it won't even compile, it expects a literal name from the
> > > drawable folder.
>
> > > Is there a way to do this?

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to