使用带有历史记录的textview自动完成功能

时间:2020-04-11 14:39:50

标签: string autocompletetextview

我正在使用自动完成的textview。在textview中输入文本后,将存储来自edittext的字符串以供以后使用。这是我正在使用的代码

  public static final String PREFS_SEARCH_HISTORY="SearchHistory";
private SharedPreferences settings;
private Set<String>history;

   settings =getSharedPreferences(PREFS_NAME,0); 
history=settings.getStringSet(PREFS_SEARCH_HISTORY,new HashSet<String>());
setAutocompleSource();
private void setAutocompleSource(){
AutoCompleteTextView textView=(AutoCompleteTextView)findViewById(R.id.editText5);
AutoCompleteTextView textView1=(AutoCompleteTextView)findViewById(R.id.editText4) ;
ArrayAdapter<String>adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,history.toArray(new String[history.size()]));
textView.setAdapter(adapter);
textView1.setAdapter(adapter);
}
private void addSearchInput(String input){
if (!history.contains(input)){
    history.add(input);
    setAutocompleSource();
}
}
private void savePrefs(){
settings=getSharedPreferences(PREFS_NAME,0);
SharedPreferences.Editor editor=settings.edit();
editor.putString(PREFS_SEARCH_HISTORY, String.valueOf(history));
editor.commit();

但是在输入文本并退出活动之后。每当我回到该活动时,它就会崩溃。请帮忙 崩溃时出现以下错误“ java.lang.String无法转换为java.util.Set”,请帮助

0 个答案:

没有答案
相关问题