отображать диалог с использованием деятельности? - PullRequest
0 голосов
/ 27 июня 2011

что я здесь не так делаю или что мне нужно добавить?

package dialog.com;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;


public class Dialog extends Activity {
    CharSequence [] items = { "google", "apple", "microsoft" };
    boolean [] itemschecked = new boolean [items.length];
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button btn = (Button) findViewById(R.id.btn_dialog);
        btn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                showDialog(0);
            }
        });
    }
    @Override
    protected Dialog onCreateDialog(int id) {
        switch(id) {
        case 0:
            return new AlertDialog.Builder(this)
            .setIcon(R.drawable.icon)
            .setTitle("This is a Dialog with some simple text...")
            .setPositiveButton("ok", new
                    DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog,
                        int whichbutton)
                {
                    Toast.makeText(getBaseContext(),
                            "OK Clicked!", Toast.LENGTH_SHORT).show();
            }
        });
            .setNegativeButton("cancel",new
                    DialogInterface.OnclickListener() {
                public void onClick(DialogInterface dialog,
                        int whichButton)
                {Toast.makeText(getBaseContext(),
                        "cancel clicked!", Toast.LENGTH_SHORT).show();
                }
            });
            .setMultiChoiceItems(itemschecked, new
                    DialogInterface.OnMultiChoiceClickListener() {
                @Override
                public void onClick(dialoginterface dialog, int which, boolean isChecked) {
                    Toast.makeText(getBaseContext(),
                            items[which] + (isChecked ? " checked!":
                                "unchecked!"),
                                Toast.LENGTH_SHORT).show();
                }
            }
            )
            .create();
        }
        return null:

    }}}

Ответы [ 2 ]

1 голос
/ 13 июля 2012

Это пример из книги «Начинаем разработку приложений для Android».

Это не сработало, поэтому я добавил это:

  1. import your.package.name.R;
  2. Иудалить последний @override, метод для onClick().(Просто удалите аннотацию, а не метод.)
  3. Я удалил строку: .setIcon(R.drawable.icon), не могу это исправить.

После того, как этот код сработал.

1 голос
/ 27 июня 2011

Переименуйте свой класс во что-то отличное от Dialog. Назовите это CustomDialog или как-то.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...