मेरे पास एक ऐसी गतिविधि है जो ब्लूटूथ डिवाइस से कनेक्ट करते समय प्रोग्रेसडिअलॉग दिखाती है। यह प्रोग्रेसडिअलॉग ऊपर होने पर स्क्रीन अभिविन्यास परिवर्तन तक ठीक काम करता है। प्रोग्रेसडिअलॉग गायब हो जाता है और जब कनेक्शन स्थापित होने के बाद, ऐप प्रगति करता हैDialog.dismiss(); इस बिंदु पर ऐप क्रैश हो जाता है क्योंकि खारिज करने के लिए कोई प्रोग्रेसडिअलॉग नहीं है। स्क्रीन अभिविन्यास में परिवर्तन करते समय मैं प्रोग्रेसडिअलॉग को खारिज कैसे कर सकता हूं?एंड्रॉइड में स्क्रीन रोटेशन परिवर्तन पर खारिज करने के लिए प्रोग्रेसडिअलॉग को कैसे रोकें?
public void prepareViews(int ID, boolean state){
switch(ID){
case USERNAME_TEXTBOX:
LoginUsernameTextBox.setEnabled(state);
break;
case PASSWORD_TEXTBOX:
LoginPasswordTextBox.setEnabled(state);
break;
case LOGIN_BUTTON:
LoginButton.setEnabled(state);
break;
case LOGIN_PROGRESSBAR:
if(state == true){
LoginProgressBar.setVisibility(View.VISIBLE);
LoginProgressBar.setIndeterminate(true); }
else{
LoginProgressBar.setVisibility(View.GONE);
}
break;
case CONNECTING_DIALOG:
if(state == true){
progressDialog = ProgressDialog.show(MainActivity.this, "", "Connecting", true); }
else{
progressDialog.dismiss();
}
break;
}
}
आदर्श रूप से, इसे छिपाने के लिए आपको गतिविधि से अलग संवाद खंड के कार्यान्वयन को बनाए रखने के लिए 'progressDialog' के बजाय संवाद खंड पर विधियों को कॉल करना चाहिए। अर्थात। यदि आप यह बदलना चाहते हैं कि संवाद खंड कैसे गतिविधि को बदलता है तो गतिविधि को भी बदलता है। – frozenkoi