我有一個ListView與自定義BaseAdapter.Every列表項有一個可點擊的按鈕。 private List items = new ArrayList();如何停止凍結listView
public View getView(final int position, View convertView, ViewGroup parent) {
View v = null;
try {
v = inflater.inflate(R.layout.row, null);
TextView name = (TextView)v.findViewById(R.id.textView);
name.setText(items.get(position).getName());
imageButton = (ImageButton) v.findViewById(R.id.Button);
imageButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// do something
}
});
} catch (Exception e) {
e.printStackTrace();
}
return v;
}
我的問題是,當我滾動列表時,應用程序凍結。 我該如何解決它?
這對每次調用getView()時都會創建一個新的'OnClickListener',即至少對每一行。 – 2012-02-08 20:04:49
啊,是的,我會編輯並記下它 – triggs 2012-02-08 20:07:08
你甚至可以通過使用ViewHolder模式來改善。 http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List14.html – 2012-02-08 20:09:51