2012-06-04 46 views
0

我有下一个代码,我试图根据用户选择在此方法中返回“播放器”的值。问题我可以用onClick方法做到这一点,任何想法?从对话框返回int Android

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; 
} 

回答

1

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

+0

是的,它的真实..我必须放松一下!哈哈哈谢谢! – Genaut