如何将数据发送到 AlertDialog
How to send data to an AlertDialog
我想将一些数据发送到更改对话框,以识别游戏中的获胜者。
这是我的代码 MainActivity.java:
if (game.comprobarCuatro(Game.JUGADOR)) {
dibujarTablero();
resultadoTextView.setText(R.string.gana_humano);
new AlertDialogFragment().show(getFragmentManager(),"ALERT DIALOG");
return;
}
这是我在 AlertDialogFragment.java 中的代码,我想根据收到的输入显示不同的标题。
public class AlertDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final MainActivity main = (MainActivity) getActivity();
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
getActivity());
alertDialogBuilder.setTitle(R.string.fin_del_juego);
alertDialogBuilder.setMessage(R.string.fin_message);
alertDialogBuilder.setPositiveButton("Si",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
main.game.restart();
main.dibujarTablero();
dialog.dismiss();
}
});
alertDialogBuilder.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
main.finish();
dialog.dismiss();
}
});
return alertDialogBuilder.create();
}
}
我的问题是,如何将该信息发送到对话框,以便每次在标题中显示不同的消息?是否可以将信息发送到警报对话框?
做一些研究有人建议使用将其保存在首选项中并稍后阅读,我认为这不是一个好的解决方案。
谢谢!
这很容易。喜欢来自 Activity
的电话喜欢
AlertDialogFragment dFragment = new AlertDialogFragment ().newInstance("your Message");
dFragment.show(getSupportFragmentManager(), "Frag");
现在在你的 AlertDialogFragment
点赞
public static AlertDialogFragment newInstance(String msg) {
AlertDialogFragment fragment = new AlertDialogFragment();
Bundle bundle = new Bundle();
bundle.putString("msg", msg);
fragment.setArguments(bundle);
return fragment;
}
然后在 onCreateDialog(..)
中得到这个 msg
就像
String msg= getArguments().getString("msg");
代码:
public class AlertDialogFragment extends DialogFragment {
public static AlertDialogFragment newInstance(String msg) {
AlertDialogFragment fragment = new AlertDialogFragment();
Bundle bundle = new Bundle();
bundle.putString("msg", msg); // set msg here
fragment.setArguments(bundle);
return fragment;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final MainActivity main = (MainActivity) getActivity();
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
getActivity());
alertDialogBuilder.setTitle(R.string.fin_del_juego);
alertDialogBuilder.setMessage(getArguments().getString("msg"));//get Mesg here
alertDialogBuilder.setPositiveButton("Si",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
main.game.restart();
main.dibujarTablero();
dialog.dismiss();
}
});
alertDialogBuilder.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
main.finish();
dialog.dismiss();
}
});
return alertDialogBuilder.create();
}
}
我想将一些数据发送到更改对话框,以识别游戏中的获胜者。
这是我的代码 MainActivity.java:
if (game.comprobarCuatro(Game.JUGADOR)) {
dibujarTablero();
resultadoTextView.setText(R.string.gana_humano);
new AlertDialogFragment().show(getFragmentManager(),"ALERT DIALOG");
return;
}
这是我在 AlertDialogFragment.java 中的代码,我想根据收到的输入显示不同的标题。
public class AlertDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final MainActivity main = (MainActivity) getActivity();
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
getActivity());
alertDialogBuilder.setTitle(R.string.fin_del_juego);
alertDialogBuilder.setMessage(R.string.fin_message);
alertDialogBuilder.setPositiveButton("Si",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
main.game.restart();
main.dibujarTablero();
dialog.dismiss();
}
});
alertDialogBuilder.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
main.finish();
dialog.dismiss();
}
});
return alertDialogBuilder.create();
}
}
我的问题是,如何将该信息发送到对话框,以便每次在标题中显示不同的消息?是否可以将信息发送到警报对话框?
做一些研究有人建议使用将其保存在首选项中并稍后阅读,我认为这不是一个好的解决方案。
谢谢!
这很容易。喜欢来自 Activity
的电话喜欢
AlertDialogFragment dFragment = new AlertDialogFragment ().newInstance("your Message");
dFragment.show(getSupportFragmentManager(), "Frag");
现在在你的 AlertDialogFragment
点赞
public static AlertDialogFragment newInstance(String msg) {
AlertDialogFragment fragment = new AlertDialogFragment();
Bundle bundle = new Bundle();
bundle.putString("msg", msg);
fragment.setArguments(bundle);
return fragment;
}
然后在 onCreateDialog(..)
中得到这个 msg
就像
String msg= getArguments().getString("msg");
代码:
public class AlertDialogFragment extends DialogFragment {
public static AlertDialogFragment newInstance(String msg) {
AlertDialogFragment fragment = new AlertDialogFragment();
Bundle bundle = new Bundle();
bundle.putString("msg", msg); // set msg here
fragment.setArguments(bundle);
return fragment;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final MainActivity main = (MainActivity) getActivity();
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
getActivity());
alertDialogBuilder.setTitle(R.string.fin_del_juego);
alertDialogBuilder.setMessage(getArguments().getString("msg"));//get Mesg here
alertDialogBuilder.setPositiveButton("Si",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
main.game.restart();
main.dibujarTablero();
dialog.dismiss();
}
});
alertDialogBuilder.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
main.finish();
dialog.dismiss();
}
});
return alertDialogBuilder.create();
}
}