實作片段和適配器之間通訊的介面
在所描述的場景中,您有一個片段,MyListFragment, 包含ListView 和自訂CursorAdapter。 您的目標是在清單的特定行中按下按鈕時通知 MyListFragment。為了實現這種通信,您可以採用基於介面的方法。
在MyListAdapter 中,定義一個介面AdapterInterface,以及一個回呼方法buttonPressed (), 在按鈕時呼叫:
buttonPressed (),public class MyListAdapter extends CursorAdapter { public interface AdapterInterface { public void buttonPressed(); } ... }
buttonPressed (), 在按鈕時呼叫:buttonPressed (), 在按鈕時呼叫:buttonPressed (),
在按鈕時呼叫:private AdapterInterface buttonListener; public MyListAdapter (Context context, Cursor c, int flags, AdapterInterface buttonListener) { super(context,c,flags); this.buttonListener = buttonListener; }
在按鈕時呼叫:buttonPressed (), 在按鈕時呼叫:buttonPressed (), 在按鈕時呼叫:buttonPressed (), 在按鈕點擊>接下來,修改MyListAdapter 以包含
AdapterInterfacepublic MyListFragment extends Fragment implements AdapterInterface { @Override public void buttonPressed() { // ... } }
在MyListFragment 中,實作AdapterInterface
並覆蓋MyListAdapter adapter = new MyListAdapter (getActivity(), myCursor, myFlags, this);
這將從適配器中AdapterView 的
以上是如何使用介面在片段與其適配器之間進行通訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!