Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何更新父对话框片段中按钮的文本?_Android_Android Fragments_Android Button_Android Dialogfragment - Fatal编程技术网

Android 如何更新父对话框片段中按钮的文本?

Android 如何更新父对话框片段中按钮的文本?,android,android-fragments,android-button,android-dialogfragment,Android,Android Fragments,Android Button,Android Dialogfragment,我在MainActivity中有一个dialogfragment,如下所示: ... AddNewPlanDialog mAddNewPlanDialog = new AddNewPlanDialog(); mAddNewPlanDialog.show(getSupportFragmentManager(), "addNewPlanDialog"); ... ... ((AddNewPlanDialog)getTargetFragment()).

我在MainActivity中有一个dialogfragment,如下所示:

...
            AddNewPlanDialog mAddNewPlanDialog = new AddNewPlanDialog();
            mAddNewPlanDialog.show(getSupportFragmentManager(), "addNewPlanDialog");
...
...
((AddNewPlanDialog)getTargetFragment()).updatePriority();
...
在这个AddNewPlanDialog中,有一个按钮,当我点击这个按钮时,它将显示另一个dialogfragment,提供一个列表供我选择。下面是AddNewPlanDialog的代码

下面是AddNewPlanPriorityDialog的代码

当按下并返回mAddNewPlanPriorityDialog中的项时,我想更新mPriorityButton的文本

有什么想法吗?谢谢

使用mAddNewPlanPriorityDialog.setTargetFragmentAddNewPlanDialog.this,requestCode;在调用show之前显示第一个对话框的第二个对话框时。 和AddNewPlanDialog getTargetFragment.someFunction


与//在第二个对话框中执行操作不同。

多亏了smb的回答,此问题得以解决。这里有一些补充

在第二个对话框中,从父dialogfragment调用函数,如下所示:

...
            AddNewPlanDialog mAddNewPlanDialog = new AddNewPlanDialog();
            mAddNewPlanDialog.show(getSupportFragmentManager(), "addNewPlanDialog");
...
...
((AddNewPlanDialog)getTargetFragment()).updatePriority();
...
然后在第一个对话框中定义此函数

...
public void updatePriority(){


    Button mButton = (Button) getDialog().findViewById(R.id.btn_add_new_plan_priority);
    mButton.setText("pick me!!");

}
...
现在,父对话框中的按钮得到更新