在用 Android studio开发android时,如果使用自带的登录 (LoginActivity),需求注释掉populateAutoComplete()方法,不然不能实现自动提示功能
//保存
private void saveHistory(String field,
AutoCompleteTextView autoCompleteTextView) {
String text = autoCompleteTextView.getText().toString();
SharedPreferences sp = getSharedPreferences(“network_url”, 0);
String longhistory = sp.getString(field, “nothing”);
if (!longhistory.contains(text + “,”)) {
StringBuilder sb = new StringBuilder(longhistory);
sb.insert(0, text + “,”);
sp.edit().putString(“history”, sb.toString()).commit();
}
}
//读取历史记录
private void initAutoComplete(String field, AutoCompleteTextView auto) {
SharedPreferences sp = getSharedPreferences("network_url", 0);
String longhistory = sp.getString(field, "nothing");
String[] hisArrays = longhistory.split(",");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, hisArrays);
// 只保留最近的50条的记录
if (hisArrays.length > 50) {
String[] newArrays = new String[50];
System.arraycopy(hisArrays, 0, newArrays, 0, 50);
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, newArrays);
}
auto.setAdapter(adapter);
auto.setDropDownHeight(200);
auto.setThreshold(1);
// auto.setCompletionHint("最近的5条记录");
auto.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
AutoCompleteTextView view = (AutoCompleteTextView) v;
if (hasFocus) {
view.showDropDown();
}
}
});
}