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);
   }

0 ответов

Другие вопросы по тегам