我有一个小项目来测试更新UI和OnItemClickListener。
当我更新ui时。 OnItemClickListener有时不会触发。 如果我更频繁地更新ui,OnItemClickListener会丢失更多次。
mHadler = new Handler();
mHanler.postDelayed(this, 33); // update 33 times per second.
// mHandler.postDelayed(this, 1000); // update 1 times per second.
// never lose onItemClick event.
my Runable
@Override
public void run() {
mText.setText("100");
mImage.setImageResource(R.drawable.some_icon);
mList.notifyDataSetChanged();
mList2.notifyDataSetChanged();
....
}
我的OnItemClickListener
mList.setOnItemClickListener(this);
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// do something...
// not trigger sometimes.
}
答案 0 :(得分:0)
您需要了解MainThread上运行的代码(也就是Android中的UI线程)。每秒更新GUI 33次会产生严重的内存影响。
研究: