如何从创建它的活动中的DialogFragment调用finish()和其他非静态方法?我已经尝试从DialogFragment中的OnClickLisener传递消息,但无济于事.
我有一个非常简单的应用程序,包括MainActivity和DialogFragment:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
setContentView(R.layout.activity);
showDialog();
}
public void showDialog() {
DialogFragment newFragment = new ConfirmDialog();
newFragment.show(getFragmentManager(), "dialog");
}
Run Code Online (Sandbox Code Playgroud)
对话再次非常简单:
public class ConfirmDialog extends DialogFragment {
@Override
public AlertDialog onCreateDialog(Bundle savedInstanceState) {
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("Confirm you want to continue?")
.setPositiveButton("Yes.", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//finish() MainActvity
}
})
.setNegativeButton("No.", new DialogInterface.OnClickListener() …Run Code Online (Sandbox Code Playgroud)