首頁 > Java > java教程 > 主體

如何在Fragment與其CursorAdapter之間建立通訊?

Patricia Arquette
發布: 2024-11-12 22:10:02
原創
891 人瀏覽過

How to Establish Communication Between a Fragment and its CursorAdapter?

在Fragment 和Adapter 之間建立介面

當處理包含ListView 和自訂CursorAdapter 的Fragment 時,在它們之間建立通訊變得至關重要。為了實現這一點,介面可以提供一個乾淨且有效率的解決方案。

介面定義

在適配器類別中,定義一個接口,定義當按鈕被按下。例如:

public interface AdapterInterface {
    public void buttonPressed();
}
登入後複製

適配器實作

將一個建構函數,用於初始化介面的實例變數:

public MyListAdapter(Context context, Cursor c, int flags, AdapterInterface buttonListener) {
    super(context, c, flags);
    this.buttonListener = buttonListener;
}
登入後複製

在bindView()方法中,點擊按鈕時,呼叫介面上的buttonPressed()方法:

@Override
public void bindView(...) {
    ...
    holder.button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            buttonListener.buttonPressed();
        }
    });
}
登入後複製

Fragment實作

中實作AdapterInterface片段類別並重做寫buttonPressed()方法:

public class MyListFragment extends Fragment implements AdapterInterface {

    @Override
    public void buttonPressed() {
        // Custom action to be performed
    }
}
登入後複製

初始化

建立適配器時,將片段當作參數傳遞給建構函式:

MyListAdapter adapter = new MyListAdapter(getActivity(), myCursor, myFlags, this);
登入後複製

註解

  • 確保在重新建立片段時也重新建立適配器,以避免引用不存在的物件。
  • 此方法提供一種乾淨且有組織的方式來處理適配器和片段之間的通訊。

以上是如何在Fragment與其CursorAdapter之間建立通訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板