У меня есть AutoCompleteTextView и я установил для него onItemSelectedListener, что не работает.
Вы хоть представляете, в чем проблема? Вот моя активность, я также могу предоставить файл main.xml, если это необходимо.
package com.chidem;
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
public class ChidemActivity extends Activity implements OnItemSelectedListener{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String hop[]=new String[]{
"Karen","Mika","Gevor"
};
AutoCompleteTextView searchHotels = (AutoCompleteTextView) findViewById(R.id.autoSearch);
searchHotels.setOnItemSelectedListener(this);
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>( this, R.layout.list_item, hop);
searchHotels.setAdapter(adapter1);
}
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Log.d("autocomplete", "itemselected");
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
Решение проблемы
Похоже, в последнее время реальная проблема может быть не в коде заданного вопроса, а в исходном коде самого AutoCompleteTextViewкласса.
Хотя AutoCompleteTextViewкласс устанавливает это OnItemSelectedListenerчерез setOnItemSelectedListenerметод, но нигде в классе не вызывается какой-либо метод слушателя. Следовательно, слушатель остается неиспользованным. (причина наиболее известна разработчикам!)
Исходный код здесь: https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/widget/AutoCompleteTextView.java.
Таким образом, альтернативой является использование файла OnItemClickListener.
Комментариев нет:
Отправить комментарий