Merge "Fixing memory leak in PreferenceScreen." into honeycomb
This commit is contained in:
committed by
Android (Google) Code Review
commit
3ab249cc32
@@ -80,6 +80,8 @@ public final class PreferenceScreen extends PreferenceGroup implements AdapterVi
|
||||
private ListAdapter mRootAdapter;
|
||||
|
||||
private Dialog mDialog;
|
||||
|
||||
private ListView mListView;
|
||||
|
||||
/**
|
||||
* Do NOT use this constructor, use {@link PreferenceManager#createPreferenceScreen(Context)}.
|
||||
@@ -146,15 +148,18 @@ public final class PreferenceScreen extends PreferenceGroup implements AdapterVi
|
||||
|
||||
private void showDialog(Bundle state) {
|
||||
Context context = getContext();
|
||||
ListView listView = new ListView(context);
|
||||
bind(listView);
|
||||
if (mListView != null) {
|
||||
mListView.setAdapter(null);
|
||||
}
|
||||
mListView = new ListView(context);
|
||||
bind(mListView);
|
||||
|
||||
// Set the title bar if title is available, else no title bar
|
||||
final CharSequence title = getTitle();
|
||||
Dialog dialog = mDialog = new Dialog(context, TextUtils.isEmpty(title)
|
||||
? com.android.internal.R.style.Theme_NoTitleBar
|
||||
: com.android.internal.R.style.Theme);
|
||||
dialog.setContentView(listView);
|
||||
dialog.setContentView(mListView);
|
||||
if (!TextUtils.isEmpty(title)) {
|
||||
dialog.setTitle(title);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user