中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

android dialogfragment怎樣處理回調

小樊
85
2024-11-19 00:58:28
欄目: 編程語言

在Android中,DialogFragment允許你在一個對話框中處理回調。為了實現這個功能,你需要在DialogFragment中創建一個接口,并在宿主Activity中實現這個接口。下面是一個簡單的示例:

  1. 首先,在你的DialogFragment中創建一個接口:
public class MyDialogFragment extends DialogFragment {

    public interface OnDialogResultListener {
        void onResult(int requestCode, int resultCode, @Nullable Bundle data);
    }

    private OnDialogResultListener mListener;

    // ... 其他代碼
}
  1. 在你的DialogFragment中,當用戶點擊某個按鈕時,調用接口方法并傳遞結果:
public class MyDialogFragment extends DialogFragment {

    // ... 接口定義和其他代碼

    public void setOnDialogResultListener(OnDialogResultListener listener) {
        mListener = listener;
    }

    private void onPositiveButtonClick() {
        // 處理正按鈕點擊事件
        if (mListener != null) {
            mListener.onResult(REQUEST_CODE, RESULT_OK, null);
        }
        dismiss();
    }

    // ... 其他代碼
}
  1. 在你的宿主Activity中實現這個接口,并重寫onResult方法:
public class MainActivity extends AppCompatActivity implements MyDialogFragment.OnDialogResultListener {

    @Override
    public void onResult(int requestCode, int resultCode, @Nullable Bundle data) {
        if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
            // 處理回調結果
        }
    }

    // ... 其他代碼
}
  1. 當你在宿主Activity中顯示DialogFragment時,設置回調監聽器:
MyDialogFragment dialogFragment = new MyDialogFragment();
dialogFragment.setOnDialogResultListener(this);
dialogFragment.show(getSupportFragmentManager(), "MyDialogFragment");

現在,當DialogFragment中的正按鈕被點擊時,onResult方法將在宿主Activity中被調用,你可以在這個方法中處理回調結果。

0
石泉县| 长兴县| 藁城市| 育儿| 会昌县| 海淀区| 泰宁县| 梁山县| 石城县| 漳州市| 额尔古纳市| 渝北区| 临武县| 巢湖市| 屏边| 定西市| 山阳县| 文登市| 河间市| 南华县| 饶河县| 罗江县| 德惠市| 从江县| 通化市| 石狮市| 寿宁县| 驻马店市| 贵南县| 杭州市| 五大连池市| 敦化市| 乡城县| 楚雄市| 崇州市| 山东省| 潢川县| 齐齐哈尔市| 眉山市| 邻水| 旌德县|