在列表視圖中,我通常在我的自定義CursorAdapter
的bindView()方法定義按鈕onClickListeners。例如:onClickListeners在bindView()或擴展視圖
private class MyCustomAdapter extends CursorAdapter{
...
...
@Override
public void bindView(View view, Context context, Cursor cursor) {
...
viewHolder.btn1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0){
...
new myDao().updateSomethingInDB(myObject);
getActivity().getContentResolver().notifyChange(myContentProviderUri, null);
}
}
...
...
}
這似乎真是浪費爲匿名內部類必須在view.setOnClickListener()
方法每次bindView()
運行創建。
會是有意義的創建有自己的類定義中定義他們的聽衆,而不是擴展的看法?因此,不是用我的列表視圖的項目佈局Button
的,我將使用延伸按鈕意見一樣LikeButton
,DislikeButton
,UpVoteButton
等等。這樣所有的行爲(如更新數據庫,通知內容解析器等)被封裝在擴展視圖而不是活動/片段?它違反任何設計原則(如可能MVC)?
兄弟你的問題不清楚...... – 2014-11-05 05:20:36
有關@HareshChhelana抱歉。我試圖用一些代碼來澄清它。請看看。 – faizal 2014-11-05 05:31:13
如果您有列表項多於一個孩子點擊偵聽器,那麼它是正確的方式,否則您可以使用列表itemclick監聽器外部適配器。 – 2014-11-05 05:36:26