2012-06-12 3 views
0

Я создаю класс, который расширяет AlertDialog. и настройку макета. Но когда всплывал называется,кнопка не показана в 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 
       } 
      }); 

Пожалуйста, помогите .....

+0

Я думаю, вы должны использовать .setPositiveButton (...) и .setNegativeButton (...) – drulabs

+0

Так как я расширяю AlertDialog, поэтому мне не нужно добавлять '.' к нему. – Android

+0

Я имел в виду использование setPositiveButton и setNegativeButton. Вы пробовали это? – drulabs

ответ

1

При вызове setContentView, вы переопределение любой контент, предоставляемый классом AlertDialog. Если вы хотите настроить представление контента самостоятельно, вам нужно добавить кнопки в XML-файл и установить прослушиватели.

+0

ohh ... Это так. ОК, в этом случае я попробую только это. Но что, если я хочу, чтобы кнопки в b были такими, какие есть в диалоговом окне предупреждения по умолчанию – Android

+0

, если я добавляю кнопку из макета и добавляю listner, ее список не отвечает даже на клик !!!! ???? – Android

Смежные вопросы