मेरे पास संवाद खंड है। मेरे पास गतिविधि और संवाद में इस खंड का उपयोग करने का इरादा है। और मैं क्रिएटडिअलॉग और क्रिएटिव्यू विधि पर ओवरराइड करता हूं। यहाँ कोडिंग है।AndroidRuntimeException: requestFeature() को सामग्री जोड़ने से पहले कॉल किया जाना चाहिए
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.interval_time_popup, null);
setup(view, false);
return view;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
View view = getActivity().getLayoutInflater().inflate(R.layout.interval_time_popup, null);
builder.setTitle("Interval Time");
builder.setView(view);
setup(view, true);
builder.setPositiveButton("Set", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
listener.setOnIntervalTime(hourNp.getValue(), minNp.getValue());
dismiss();
}
});
builder.setNegativeButton("Cancel", new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dismiss();
}
});
return builder.create();
}
मैं इस तरह के गतिविधि वर्ग में इस खंड का उपयोग करता हूं।
SelectTimeIntervalDialogFragment fragment = new SelectTimeIntervalDialogFragment();
fragment.setHrMin(hr, min);
Bundle args = new Bundle();
FragmentTransaction t = getSupportFragmentManager().beginTransaction();
t.replace(R.id.shift_period_interval_layout, fragment);
t.commit();
मुझे लगता है कि जैसे किसी अन्य गतिविधि से यह कहते हैं।
if((getResources().getConfiguration().screenLayout &
Configuration.SCREENLAYOUT_SIZE_NORMAL) ==
Configuration.SCREENLAYOUT_SIZE_NORMAL){
Intent intent = new Intent(ShiftPeriodActivity.this, SelectIntervalActivity.class);
intent.putExtra("intervalHr", speriod.intervalHr);
intent.putExtra("intervalMin", speriod.intervalMin);
startActivityForResult(intent, 1);
} else {
FragmentManager fm = getSupportFragmentManager();
intervalDialog = new SelectTimeIntervalDialogFragment();
intervalDialog.setHrMin(speriod.intervalHr, speriod.intervalMin);
intervalDialog.show(fm, "interval_fragment");
}
मेरे पास दो शर्तें हैं। जब स्क्रीन का आकार सामान्य होता है, तो यह गतिविधि को कॉल करता है जिसमें खंड संवाद शामिल होता है। अन्यथा, यह पॉपअप संवाद को कॉल करें। जब मैं पॉपअप संवाद को कॉल करता हूं तो मुझे अपवाद मिला। यह कहा requestFeature() must be called before adding content
। क्या मैं इस तरह उपयोग कर सकता हूँ? मैं जानना चाहता हूं कि इसे कैसे दूर किया जाए।
धन्यवाद।
आपको पहले अनुरोध कहा जाना चाहिए setcontentView() –
से पहले आपकी समस्या हल हो गई है ?? – Subburaj
संभावित रूप से 'सेटअप()' कॉल 'अनुरोध फ़ीचर() '- आप' onCreateView() 'और' onCreateDialog() 'दोनों में' सेटअप()' को कॉल करते हैं। (मुझे पता है, पुराना सवाल है लेकिन समीक्षा कतार में आया है।) – laalto