管理View
在Android中重複使用的源代碼在哪裏?我能想到的三個不同的部分,以該處理,但是可以存在更多:管理視圖在Android中重新使用的代碼在哪裏?
- 用於確定一個
View
獲再利用 - 管理的
View
s表示可以是池的代碼的邏輯重新使用 - 去除該代碼可重複使用的從池中
View
並復位其屬性值來表示一個邏輯上不同的View
編輯:博客文章Developing applications for Android – gotchas and quirks給出了下面的例子:
public class PencilWise extends ListActivity {
View activeElement;
// ...
@Override
public void onCreate (Bundle savedInstanceState) {
// ...
this.getListView().setOnItemClickListener (new OnItemClickListener () {
public void onItemClick (AdapterView<?> parent, View view, int position, long id) {
MyActivity.this.activeElement = view;
MyActivity.this.showDialog (DIALOG_ANSWER);
}
});
}
}
的
showDialog
方法將顯示對話框答案,需要知道問題的用戶已經打開。問題是,當對話框打開時,傳遞給onItemClick
的視圖可能已被重用,因此activeElement
將不再指向用戶單擊以首先打開對話框的元素!
需要的地方查看重用Android通常有一些基礎設施來協助解決這個問題。一個示例是使用AdapterViews/Adapter(如帶有BaseAdapter的ListView)。除此之外,我不確定這裏真正要問什麼。 – 2011-01-31 03:08:49