私はListView
、ユーザーがそのアイテムの1つをクリックすると、そのアイテムを青色にしたいと思っています。これを行うためにonCreate()
、アクティビティのメソッドでListView
、ユーザークリックのリスナーを設定しました。
m_listFile=(ListView)findViewById(R.id.ListView01);
m_listFile.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
arg0.getChildAt(arg2).setBackgroundColor(Color.BLUE);
}
});
最初に表示されるアイテムはすべて正常に機能しますが、リストをスクロールすると
NullPointerException
、値が正しいアイテムインデックスの位置にある arg0.getChildAt(arg2).setBackgroundColor(...)
場合でも、が表示されます。arg2
私ListView
は2つのラインアイテム構造を持っています、私がロードするとき、ListView
私はこのアダプターを使用します:
SimpleAdapter sa = new SimpleAdapter(
getApplicationContext(),
expsList,
R.layout.listelement,
new String[] { "screen_name","text" },
new int[] { R.id.Name, R.id.Value}) {
};
m_listFile.setAdapter(sa);
この問題を解決する方法がわかりません。助けてもらえますか?