ждать, чтобы вызвать действие - PullRequest
0 голосов
/ 30 июля 2011

Я хочу запустить цикл 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;

1 Ответ

0 голосов
/ 30 июля 2011

Поместите цикл while в onClick или метод, вызываемый onClick. builderPC.create().show(); не блокирует и не предпринимает никаких действий для ожидания ответа, но пользовательский ответ вызывает onclick. Просто помните, что это будет работать в главном потоке.

...