我有一個ListView
,當用戶點擊其中一個項目時,我希望該項目變成藍色。爲了做到這一點,在ListView
活動的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
有兩行項目結構,當我加載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);
我不知道如何解決這個問題。我可以得到一些幫助嗎?
你使用自定義適配器爲你的'ListView'? – Luksprog 2012-03-18 11:22:29
我修改了我的第一篇文章 – Ant4res 2012-03-18 11:42:53