Кнопки в диалоге оповещений не работают - PullRequest
0 голосов
/ 19 января 2012

Хорошо, я изначально работаю над размещением вложений в моем приложении, но сначала мне нужно, чтобы мои диалоговые кнопки работали.Помогите, пожалуйста, я действительно не знаю, что мне нужно сделать, чтобы мои кнопки работали.

Attachment.setOnClickListener(new View.OnClickListener() {
                public void onClick(View view) {

                    final CharSequence[] items = { "Picture", "Video", "Audio" };

                    AlertDialog.Builder builder = new AlertDialog.Builder(SMS.this);
                    // Read Update
                    builder.setTitle("Attachment");
                    builder.setIcon(R.drawable.ic_launcher);
                    builder.setItems(items, new DialogInterface.OnClickListener() {

                        public void onClick(DialogInterface dialog, int which) {
                            // TODO Auto-generated method stub
                            if (items.equals("Picture")) {
                                Intent nextScreen1 = new Intent(
                                        getApplicationContext(),
                                        FirstLoginActivity.class);
                                startActivity(nextScreen1);
                            }
                            if (items.equals("Video")) {
                                Intent nextScreen1 = new Intent(
                                        getApplicationContext(),
                                        FirstLoginActivity.class);
                                startActivity(nextScreen1);
                            }
                            if (items.equals("Audio")) {
                                Intent nextScreen1 = new Intent(
                                        getApplicationContext(),
                                        FirstLoginActivity.class);
                                startActivity(nextScreen1);
                            }
                        }

                    });

                    builder.create(); // <-- See This!
                    builder.show();
                }

            });
        }

Я не получаю ошибок, но он ничего не делает.

1 Ответ

2 голосов
/ 19 января 2012

Как насчет замены вашего OnClick() следующим:

@Override
public void onClick(DialogInterface dialog, int which) {
    switch(which){
    case 0: // Picture
        Intent nextScreen1 = new Intent(
                getApplicationContext(),
                FirstLoginActivity.class);
        startActivity(nextScreen1);
        break;
    case 1: // Video
        Intent nextScreen1 = new Intent(
                getApplicationContext(),
                FirstLoginActivity.class);
        startActivity(nextScreen1);
        break;
    case 2: // Audio
        Intent nextScreen1 = new Intent(
                getApplicationContext(),
                FirstLoginActivity.class);
        startActivity(nextScreen1);
        break;
    }
}

На самом деле, если вы не хотите использовать мое предложение выше, вам просто нужно исправить if statement следующим образом:

изменение: (items.equals("Picture")) to (items[which].equals("Picture"))

...