Что вы можете сделать, это просто сделать стандартную настройку, которая покажет диалоговое окно, содержащее EditText, и добавить ontextchangelistener:
searchET.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
, а что касается результатов поиска, я не знаю,Я никогда раньше не пробовал ничего подобного, но похоже, что это сработало бы для вас, и вам нужно было бы выяснить, какой код необходим для выполнения самого поиска, но это добавило бы начальную функциональность.
РЕДАКТИРОВАТЬ: Под стандартным предпочтением я имею в виду в XML:
<Preference
android:title="Time Zone"
android:summary="Choose your time zone"
android:key="timeZone"/>
И в вашей PreferenceActivity добавить следующее:
Preference timeZone = (Preference)findPreference("timeZone");
timeZone.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference arg0) {
showDialog(1);
return false;
}
});
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 1:
final EditText searchET = new EditText(this);
//do the searchET.addTextChangedListener here
return new AlertDialog.Builder(this)
.setTitle("Choose Time Zone")
.setView(showAppString)
.setPositiveButton(new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
//save the time zone to sharedPreferences
SharedPreferences pref = PreferenceManager.getDefaultSharedPreference(this);
SharedPreferences.Editor editor = pref.edit();
editor.putString("TIME_ZONE", TZ.toString());
}//closes the onClick
})//closes the onclicklistener
.show();
}//closes the switch
}//closes the oncreatedialog
Хотя, яЯ думаю, что вы могли бы на самом деле просто использовать EditTextPreference, а затем добавитьTextChangedListner в EditTextPreference, так как я думаю, что он наследует все от EditTexts.Я не позитивен, хотя.