我創建了一個具有ListPreference(prefViewPos)和Preference(prefAlert)的PreferenceActivity。當用戶點擊'prefAlert'時,確定取消對話框打開。現在當屏幕旋轉時,我的警報對話框會關閉,但如果'prefViewPos'對話框打開,那麼它不會關閉。那麼爲什麼我的警報對話框被關閉,而ListPreference對話框沒有在屏幕旋轉關閉?Dialog在屏幕旋轉時關閉android
代碼:
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.setting);
getListView().setBackgroundResource(R.drawable.background);
getListView().setCacheColorHint(Color.TRANSPARENT);
prefViewPos = (ListPreference)findPreference(NetworkMonitorApp.PREF_VIEW_POS);
if(prefViewPos != null)
{
String viewPosEntries[] = {"Top Left","Top Center","Top Right"};
String viewPosEntryValues[] = {String.valueOf(0),String.valueOf(1),String.valueOf(2)};
prefViewPos.setEntries(viewPosEntries);
prefViewPos.setEntryValues(viewPosEntryValues);
if(prefViewPos != null)
{
prefViewPos.setOnPreferenceChangeListener(new OnPreferenceChangeListener()
{
@Override
public boolean onPreferenceChange(Preference arg0, Object arg1)
{
//Some code here
return true;
}
});
}
}
prefAlert = (Preference)findPreference("PrefAlert");
if(prefAlert != null)
{
prefTextColor.setOnPreferenceClickListener(new OnPreferenceClickListener()
{
@Override
public boolean onPreferenceClick(Preference preference)
{
//Open dialog by AlertDialog.Builder.show()
return true;
}
});
}
你能分享你的活動代碼嗎? – iceman