http://techbooster.org/android/ui/1282/
こちらのサイト様を参考にしてリストビューに画像とテキストを表示することに成功したのですが、
この画像を1つ1つ変更することと、
要素をタップしたときにそれぞれ異なるActivityに遷移することの方法を教えてください。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
画像をそれぞれ違うものにする場合は、CustomData#setImagaData(Bitmap)
の引数に、別のBitmapを渡せばいいだけです。
Java
1List<CustomData> objects = new ArrayList<CustomData>(); 2CustomData item1 = new CustomData(); 3item1.setImagaData(image); // この部分 4item1.setTextData("1つ目〜"); 5 6CustomData item2 = new CustomData(); 7item2.setImagaData(image); // この部分 8item2.setTextData("The second"); 9 10CustomData item3 = new CustomData(); 11item3.setImagaData(image); // この部分 12item3.setTextData("Il terzo"); 13 14objects.add(item1); 15objects.add(item2); 16objects.add(item3);
ListViewのタップ時の制御は、OnItemClickListener
を用いて行います。
何を元に遷移先Activityを決めるかは自由です。以下は、CustomData#getTextData()
で得られる文字列を元に遷移先を決定する例です。
Java
1listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 2 @Override 3 public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 4 // タップされた行のデータ 5 CustomData data = (CustomData)parent.getItemAtPosition(position); 6 7 Intent intent = new Intent(); 8 if ("1つ目〜".equals(data.getTextData())) { 9 intent.setClass(getApplicationContext(), FirstActivity.class); 10 } else if ("The second".equals(data.getTextData())) { 11 intent.setClass(getApplicationContext(), SecondActivity.class); 12 } else if ("Il terzo".equals(data.getTextData())) { 13 intent.setClass(getApplicationContext(), ThirdActivity.class); 14 } else { 15 intent.setClass(getApplicationContext(), OtherActivity.class); 16 } 17 startActivity(intent); 18 } 19});
投稿2015/10/03 18:21
総合スコア1156
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/04 14:08