4

私はAndroidを初めて使用します。ここで読んだ内容から、ほとんどの質問はImageview設定画像に行きます。これは、ImageViewエラーと同じ問題です。文字列リストではなくIntリストが必要な関数があるため、整数の配列リストを作成しました。基本的にほとんどの関数と同じように、私はこのように作成しました

private ArrayList<Integer> myArrayList = new ArrayList<Integer>();

public void setPicture(Integer datanumber)
{
    if (datanumber>=10)
    {
         myArrayList.add(R.drawable.picture);
    }
    else{
        myArrayList.add(R.drawable.picture_gray);
    }
 ///and so on
}

このコードを使用して「R.drawable.picture」からこの文字列を取得できないことがわかるまで、すべてが正常に機能します

 myArrayList.get(0).toString();

代わりに、理解できない乱数が表示されます。私の質問は、どうすればデフォルト値(またはリストに追加した値)に戻すことができるかということです。私の質問を読んでいただきありがとうございます。

4

2 に答える 2

2

使用するString.valueOf(myArrayList.get(0));

それ以外のmyArrayList.get(0).toString();

于 2012-08-23T08:30:21.607 に答える
0

それはあなたに乱数を与えていません。それはあなたにの価値を与えていますR.drawable.picture。のすべてのリソースはR.*.*番号で参照されます。これは、次のようなR.javaの内部を見ると明らかです。

public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int help=0x7f020000;
        public static final int ic_action_search=0x7f020001;
        public static final int ic_launcher=0x7f020002;
        public static final int splash1=0x7f020003;
    }
    public static final class id {
        public static final int userName=0x7f070002;
    }
    public static final class layout {
        public static final int splash=0x7f030003;
    }
    public static final class menu {
        public static final int action=0x7f060000;
        public static final int menu=0x7f060001;
    }
    public static final class string {
        public static final int app_name=0x7f040000;
        public static final int create_user=0x7f040004;
        public static final int help=0x7f040001;
        public static final int image=0x7f040002;
        public static final int primarymodtext=0x7f040003;
    }
}

取得しているのはint値R.drawable.pictureです。これは、配列リストに値を追加するときに、に格納されているint値を渡すためですR.drawable.picture

を使用する場合と同じように、取得したこの整数値を引き続き使用できますR.drawable.picture。普通に渡すだけです。

于 2012-08-23T08:35:31.380 に答える