0

AlertDialogを拡張するクラスを作成しています。レイアウトを設定します。しかし、ポップアップが呼び出されると、

** 1)レイアウトは透明です

2)setButtonを呼び出してもボタンが表示されない**どうしたらよいかわからないので、なぜそれが発生するのかわかりません。

私のクラスはこのDateTimeDialog.javaです

public class DateTimeDialog extends AlertDialog{

    Date date;
    String title;
    DialogInterface.OnClickListener listner;
    protected DateTimeDialog(Context context, String title, Date date ) {
        super(context);
        // TODO Auto-generated constructor stub
        this.title = title;
        this.date = date;
    }

    public void initListener(DialogInterface.OnClickListener listner){
        this.listner = listner;
    }

    public Date getDate(){


        return date;
    }


    @Override
    public void onCreate(Bundle savedInstanceState){
        //super.onCreate(savedInstanceState);
        setContentView(R.layout.date_time_picker);



        setTitle(title);

        setButton( "OK", listner);

        setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel",
                new OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // Do something
                        dialog.dismiss();
                    }
                });

    }

このクラスを呼び出しているメソッド

final DateTimeDialog dateTimeDialog = new DateTimeDialog(context, "title", time);
           dateTimeDialog.show();
           dateTimeDialog.initListener(new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
                    //doSomething
                }
            });

助けてください.....

4

1 に答える 1

1

setContentViewを呼び出すと、AlertDialogクラスが提供するすべてのコンテンツをオーバーライドします。コンテンツビューを自分で設定する場合は、XMLファイルにボタンを追加してリスナーを設定する必要があります。

于 2012-06-12T07:10:10.060 に答える