2013-02-14 6 views
0

Как создать диалог в коде?Создать пользовательский диалог DialogPreference программно

 MyDialog dialog=new MyDialog(getActivity()); 
     dialog.setTitle("asd"); 
     dialog.setKey("key"); 
     dialog.getDialog().show(); 

Это в моем файле XML, и он отлично работает при вызове экрана предпочтения прома

<!-- Custom Dialog --> 
    <com.pak.asd.MyDialog 
     android:key="key" android:title="title" 
     android:dialogTitle="title" 
     android:negativeButtonText="no" 
     android:positiveButtonText="yes" android:dialogMessage="message" /> 

это мой класс

public class MyDialog extends DialogPreference { 
    private Context c; 

    public MyDialog(Context c) 
    { 
    //is null correct ? 
     super(oContext,null);  
     this.oContext = oContext; 
    } 

    public MyDialog(Context c, AttributeSet attrs) 
    { 
     super(c, attrs);   
     this.c = c; 
    } 

} 
+0

Я вижу, что конструктор добавлен теперь для API21, но он будет генерировать исключение, если мы будем называть 'super (c, null)' в более старых платформах. Что случилось с тобой. – Samuel

ответ

0

DialogPreference не имеет DialogPreference (Context context) конструктора, поэтому, почему вы определяете конструктор MyDialog(Context c)? Обычно вам не нужен этот конструктор, только второй.

Я раньше не использовал DialogPreference, но вы должны иметь возможность создавать свой собственный класс так же, как и базовый.

+0

Как создать код? , можете ли вы привести мне пример? – Lukap

+0

Что вы пробовали? Поиск DialogPreference используется в Java-коде, я никогда не использовал его. Любой пример подходит для вашего расширенного класса, не беспокойтесь об этом. – thelawnmowerman

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