की आवश्यकता है मैं एक कक्षा में चलने वाला त्रिज्या संख्यापिकर प्राप्त करने की कोशिश कर रहा हूं जो डायलॉग प्रेफरेंस को बढ़ाता है, और मुझे काम करने के लिए setView() प्राप्त करने में बहुत परेशानी हो रही है। चलो कुछ कोड के साथ शुरू करते हैं:Alertdialog.builder setview: कॉल को एपीआई स्तर 21
public class RadiusPickerPreference extends DialogPreference{
public RadiusPickerPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onPrepareDialogBuilder(android.app.AlertDialog.Builder builder) {
builder.setTitle(R.string.set_radius_dialog_fragment_title);
builder.setView(R.layout.dialog_radius_picker);
builder.setPositiveButton(android.R.string.ok, null);
builder.setNegativeButton(android.R.string.cancel, null);
}
}
यह मैं builder.setView कह पर एक त्रुटि देता है "कॉल की आवश्यकता है एपीआई 21 (वर्तमान मिनट 15 है)।" मैं एपीआई 15+ के साथ डिवाइस का समर्थन करना चाहता हूं, इसलिए इसे बदलना एक विकल्प नहीं है। अब, अगर मैं
protected void onPrepareDialogBuilder(android.support.v7.app.AlertDialog.Builder builder)
ओवरराइड करने के लिए प्रयास करते हैं, यह कहते हैं, "विधि अपने सुपर क्लास से विधि हावी नहीं होता।"
प्रश्न यह है कि, मैं दृश्य कैसे सेट कर सकता हूं? जब तक यह एपीआई 15+ का समर्थन नहीं करता है, तब तक इसे PrepareDialogBuilder() पर जरूरी नहीं है। धन्यवाद!
पीएस: अगर आपको और कोड चाहिए तो मुझे बताएं। यह XML में दिखाया गया है प्राप्त करने के लिए, बस एक <PreferenceScreen>
से जोड़ें:
<com.example.project.RadiusPickerPreference
android:id="@+id/radPickerPref"
android:key="@string/pref_key_default_radius"
android:title="@string/pref_title_default_radius"/>
ओह, मुझे इस तथ्य को याद आया कि सेटव्यू (व्यू) ने पुराने एपीआई के साथ काम किया था। धन्यवाद, पूरी तरह से काम करता है। –
बहुत बहुत धन्यवाद! मैं setView() को तब तक काम करने की कोशिश कर रहा हूं जब से मैंने अपना न्यूनतम एसडीके 15 में बदल दिया ... ... – Zillinium