Mar*_*e F 2 android android-fragments android-dialog
我想将一些数据发送到替代对话框,以了解在我的游戏中识别获胜者。
这是我的 MainActivity.java 中的代码:
if (game.comprobarCuatro(Game.JUGADOR)) {
dibujarTablero();
resultadoTextView.setText(R.string.gana_humano);
new AlertDialogFragment().show(getFragmentManager(),"ALERT DIALOG");
return;
}
Run Code Online (Sandbox Code Playgroud)
这是我在 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();
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何将该信息发送到对话框以每次在标题中显示不同的消息?是否可以将信息发送到警报对话框?
做一些研究有人建议将其保存在首选项中并稍后阅读,我认为这不是一个好的解决方案。
谢谢!
这很容易。喜欢从Activity喜欢打电话
AlertDialogFragment dFragment = new AlertDialogFragment ().newInstance("your Message");
dFragment.show(getSupportFragmentManager(), "Frag");
Run Code Online (Sandbox Code Playgroud)
现在在你AlertDialogFragment喜欢
public static AlertDialogFragment newInstance(String msg) {
AlertDialogFragment fragment = new AlertDialogFragment();
Bundle bundle = new Bundle();
bundle.putString("msg", msg);
fragment.setArguments(bundle);
return fragment;
}
Run Code Online (Sandbox Code Playgroud)
然后得到这个msg在onCreateDialog(..)类似
String msg= getArguments().getString("msg");
Run Code Online (Sandbox Code Playgroud)
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();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6414 次 |
| 最近记录: |