【发布时间】:2015-01-23 09:35:10
【问题描述】:
我在MainActivity 中有一个dialogfragment,并显示如下:
...
AddNewPlanDialog mAddNewPlanDialog = new AddNewPlanDialog();
mAddNewPlanDialog.show(getSupportFragmentManager(), "addNewPlanDialog");
...
在这个AddNewPlanDialog中,有一个按钮,当我点击这个按钮时,它会显示另一个dialogfragment,提供一个列表供我选择。这是AddNewPlanDialog的代码。
public class AddNewPlanDialog extends DialogFragment {
@Override
@NonNull
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder mBuilder = new AlertDialog.Builder(getActivity());
LayoutInflater mInflater = getActivity().getLayoutInflater();
View mView = mInflater.inflate(R.layout.frag_add_new_plan_dialog, null);
Button mPriorityButton = (Button)mView.findViewById(R.id.btn_add_new_plan_priority);
//update priority of plan
mPriorityButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AddNewPlanPriorityDialog mAddNewPlanPriorityDialog = new AddNewPlanPriorityDialog();
mAddNewPlanPriorityDialog.show(getActivity().getSupportFragmentManager(), "addNewPlanPriorityDialog");
}
});
// set final view and final buttons
mBuilder.setView(mView)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
})
.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
// TODO Auto-generated method stub
}
});
return mBuilder.create();
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.i(TAG, "ON ACTIVITY CALLED!!!");
super.onActivityResult(requestCode, resultCode, data);
}
}
这是AddNewPlanPriorityDialog的代码。
public class AddNewPlanPriorityDialog extends DialogFragment {
@Override
@NonNull
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder mBuilder = new AlertDialog.Builder(getActivity());
mBuilder.setTitle(R.string.pick_priority).setItems(
R.array.add_new_plan_priority_array,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// do something
}
});
return mBuilder.create();
}
}
当mAddNewPlanPriorityDialog 中的项目被按下并返回时,我想更新mPriorityButton 的文本。
有什么想法吗?谢谢!!
【问题讨论】:
标签: android android-fragments android-button android-dialogfragment