我希望触发一个while循环,但只有在用户选择了一个选项之后。由于某种原因,它甚至在用户选择一个选项之前就会自动吹过整个代码块。如何强制它等待用户继续选择?
case R.id.buttonSetPlayers:
//**********************//
//***SET PLAYER COUNT***//
//**********************//
AlertDialog.Builder builderPC = new AlertDialog.Builder(this);
final CharSequence[] playerCount = {"1", "2", "3", "4"};
builderPC.setTitle("Player Count");
builderPC.setItems(playerCount, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialogInterface, int item) {
Toast.makeText(getApplicationContext(), playerCount[item], Toast.LENGTH_SHORT).show();
if (playerCount[item].equals("1")){
EntryScreen.this.totalPlayerCount = 1;
}
else if (playerCount[item].equals("2")){
EntryScreen.this.totalPlayerCount = 2;
}
else if (playerCount[item].equals("3")){
EntryScreen.this.totalPlayerCount = 3;
}
else if (playerCount[item].equals("4")){
EntryScreen.this.totalPlayerCount = 4;
}
return;
}
});
builderPC.create().show();
###
I want it to wait to do this next part instead of doing it as soon as button is clicked. Below...
###
while (totalPlayerCount >= 1){
setNames();
totalPlayerCount--;
}
return;
答案 0 :(得分:0)
将while循环放在onClick或onClick调用的方法中。 builderPC.create().show();
不阻止或做任何事情等待响应,但onclick由用户响应触发。请记住,这将在主线程上运行。