0

我有下一个代码,我试图根据用户选择在此方法中返回“玩家”的值。问题我可以用对话框的 onClick 方法做到这一点,知道吗?

    public int dialogoInicial(){
    int players = 1;
    final String[] playersArray = {"1","2","3","4","5","6"};
    AlertDialog.Builder dialog = new AlertDialog.Builder(this);
    dialog.setTitle("Nº "+getString(R.string.players)+":");
    dialog.setSingleChoiceItems(playersArray, -1, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int player) {
            players = Integer.parseInt(playersArray[player]);
        }
    });
    dialog.show();

    return players;
}
4

1 回答 1

1

这里的问题是return players在显示对话框时将执行。简单的解决方案是使players变量成为类级别的变量,而不是函数的局部变量。你也可以让你的函数返回void,因为它不能返回任何东西。Android 对话框是Asynchronous.

于 2012-06-04T13:14:44.870 回答