Android AutocompleteTextView ошибка отображения
У меня есть проблема в моих кодах в AutocompleteTextView. Когда я выполняю поиск, после нажатия на слово, которое я ищу, в AutocompleteTextView будет отображаться текст или буквы.
Это моя главная страница приложения Главная приложения
После того, как я ищу слово. Это будет отображать это ошибка изображения
Это мой код:
MainActivity.java
public class MainActivity extends Activity {
Button AN,PL;
AutoCompleteTextView autocomplete;
Button clear;
ListView lv;
SearchView search_view;
String[] animals_names;
ArrayList<Main> animalslist;
AnimalsAdapter adapter;
@SuppressWarnings("rawtypes")
Class[] classes = {
A.class,
B.class,
C.class,
D.class,
E.class,
F.class,
G.class,
H.class,
I.class,
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.b_activity_main);
AN= (Button) findViewById(R.id.button1);
PL= (Button) findViewById(R.id.button2);
lv = (ListView) findViewById(R.id.list_view);
autocomplete = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
clear = (Button) findViewById(R.id.clear);
clear.setVisibility(View.INVISIBLE);
animals_names = getResources().getStringArray(R.array.animals_names);
animalslist = new ArrayList<Main>();
for (int i = 0; i < animals_names.length; i++) {
Main country = new Main(i,animals_names[i], classes[i]);
animalslist.add(country);
}
adapter = new AnimalsAdapter(getApplicationContext(), animalslist);
final ArrayAdapter<String> adapter = new ArrayAdapter<String>
(this,android.R.layout.simple_list_item_1, animals_names);
autocomplete.setAdapter(this.adapter);
autocomplete.setThreshold(1);
autocomplete.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Main item = (Main) parent.getAdapter().getItem(position);
Intent d = new Intent(MainActivity.this, item.getClazz());
startActivity(d);
/** Fading Transition Effect */
MainActivity.this.overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}
});
autocomplete.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
//do nothing
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//do nothing
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(s.length() != 0) {
clear.setVisibility(View.VISIBLE);
} else {
clear.setVisibility(View.GONE);
}
}
});
autocomplete.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
clear.setVisibility(View.VISIBLE);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
clear.setVisibility(View.GONE);
}
});
}
public void clear(View view) {
autocomplete.setText("");
clear.setVisibility(View.GONE);
}