2017-09-06 18 views
0

私は、ユーザーがアイテム名、アイテムの説明、アイテムの価格などを入力できる新しいアイテムを追加できるようにしたいと思います。私はdrawableにキャンディーイメージを持っています。私はR.drawable.nameのようにR.drawable.candyを参照できますか?誰でも助けてください文字列変数を使ってアンドロイドイメージビューを作成する

public class item { 
    String name; 
    String desc; 
    double price; 
    int itemimage; 

    public item(String name, String desc, double price) { 
     this.name = name; 
     this.desc = desc; 
     this.price = price; 

     itemimage = R.drawable.name;//my question is here 
     //i want to have auto define the image of the item for later use 
     // so i can do like set imageview of this item 
     //i will have the image have same name with item name 
     // for example my item name is candy 
     //then i will have a image at the android drawable named candy 
     //so in android to define this image is R.drawable.candy 
     // can i do like R.drawable.name <-- variable store with value candy 
     // is it same with R.drawable.candy 
    } 
}//end class item 

//another class 
public class main { 
    Arraylist<item> itemdatabase = new Arraylist<item>(); 

    Scanner input = new Scanner(System.in); 

    System.out.print("Enter item name:"); 
    String itemname = input.nextLine(); 

    System.out.print("Enter item desc:"); 
    String itemdesc = input.nextLine(); 

    System.out.print("Enter item price:"); 
    double itemprice = input.nextDouble(); 

    itemdatabase.add(new 

    item(itemname, itemdesc, itemprice); 
} 
+0

のように行うことはできませんしかし、あなたは、メソッドの外の文がたくさんあります。コンパイラはそれに不平を言っていませんでしたか? –

答えて

1

Resources.getIdentifier() methodを使用できます。このコードは、あなたがActivity内で実行していると仮定し

int id = getResources().getIdentifier("candy", "drawable", getPackageName()); 
// now `id` == R.drawable.candy 

を:R.drawable.candyでは、このようにそれを使うだろう。そうでない場合は、Context.getResources()Context.getPackageName()を呼び出すことができるように、Contextインスタンスにアクセスする必要があります。それは次のようになります。

int id = mContext.getResources().getIdentifier("candy", "drawable", mContext.getPackageName()); 
0

答えがノーである、あなたはR.drawable.name

関連する問題