我試圖爲EditTextPreference
項目的setText不工作的EditTextPreference
設定值與hostPreference.setText("Not yet set");
但文本沒有顯示
我想表明它像Use Name
這裏
public class HostSettingActivity extends PreferenceActivity {
private final String MY_DEBUG_TAG = "SettingActivity";
SharedPreferences sharedPrefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.i(MY_DEBUG_TAG, "HostSettingActivity Started");
super.onCreate(savedInstanceState);
sharedPrefs = getPreferenceManager().getSharedPreferences();
setPreferenceScreen(createPreferenceHierarchy());
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.e(MY_DEBUG_TAG, "On Destroy");
}
private PreferenceScreen createPreferenceHierarchy() {
// Root
PreferenceScreen root = getPreferenceManager().createPreferenceScreen(this);
PreferenceCategory dialogBasedPrefCat = new PreferenceCategory(this);
dialogBasedPrefCat.setTitle("Host Settings");
root.addPreference(dialogBasedPrefCat);
EditTextPreference hostPreference = new EditTextPreference(this);
hostPreference.setKey("host");
hostPreference.setDialogTitle("Host");
hostPreference.setText("Not yet set");
hostPreference.setDefaultValue("http://example.com");
hostPreference.setSummary("Set host");
dialogBasedPrefCat.addPreference(hostPreference);
EditTextPreference portPreference = new EditTextPreference(this);
portPreference.setKey("port");
portPreference.setDialogTitle("Port");
portPreference.setDefaultValue("8080");
portPreference.setSummary("Set port");
dialogBasedPrefCat.addPreference(portPreference);
hostPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
EditTextPreference etp = (EditTextPreference) preference;
String newHostValue = newValue.toString();
Log.i(MY_DEBUG_TAG, "New Host: "+newHostValue);
etp.setText(newHostValue);
return true;
}
});
return root;
}
}
你的意思是'「尚未設置」當你點擊'設置host'偏好'沒有出現? 'setText'應該在哪裏生效,你期望得到什麼結果? – Knickedi
設置默認值是否解決問題? – nixan
@Knickedi我希望'還沒有設置'就像'用戶名'一樣來到這裏http://www.cre8ive.kr/blog/wp-content/uploads/android_prefs_3.jpg –