मैं एक गतिविधि है जो एक स्वागत संदेश अगर पहली बार के लिए शुरू कर दिया पता चलता है:ProgressDialog और AlertDialog कारण लीक खिड़की
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
showWelcomeMessageIfNecessary();
}
private void showWelcomeMessageIfNecessary() {
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
final Editor edit = prefs.edit();
if (!prefs.getBoolean("welcomemessage", false)) {
edit.putBoolean("welcomemessage", true);
edit.commit();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(R.string.messages_welcome_content).setCancelable(false).setPositiveButton(R.string.errors_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Do nothing
}
}).setTitle(R.string.messages_welcome_title);
AlertDialog alert = builder.create();
alert.show();
}
}
यह सब काम करता है खूबसूरती से, लेकिन जब मैं अनुप्रयोग शुरू, और तुरंत स्क्रीन बारी बारी से, मुझे जाने-माने लीक विंडो अपवाद मिलता है।
मैं इसे कैसे रोकूं? क्या संवाद दिखाने का कोई बेहतर तरीका है? यह तब भी होता है जब मैं एस में AsyncTask
एस में ProgressDialog
एस का उपयोग करता हूं।
हो सकता है 'नई AlertDialog.Builder (this.getParent());' यकीन नहीं –