我有一个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
}
}发布于 2012-02-13 00:01:12
伙计,你会嘲笑你的错误的。这对我很有效。您添加的是OnItemSelectedListener,而不是OnItemClickListener。
仅当您选择项目或使用轨迹球或向上/向下箭头浏览视图时,您的方法才有效。在字符串中多使用一个以"k“开头的值,即Karen1。键入"k“并在Karen和Karen1之间进行选择。您将看到它是有效的。如果要单击,则添加OnItemClickListener并覆盖
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3)发布于 2012-04-17 03:09:37
您必须使用
OnItemClickListener
代替OnItemSelectedListener
发布于 2020-05-10 04:10:23
看起来,最近,真正的问题可能不在问题的代码中,而在AutoCompleteTextView类本身的源代码中。
虽然AutoCompleteTextView类通过setOnItemSelectedListener方法设置它的侦听器,但在该类中没有任何地方调用任何方法。因此,侦听器保持未使用状态。(开发人员最熟悉的原因!)
因此,另一种方法是使用OnItemClickListener。
https://stackoverflow.com/questions/9249919
复制相似问题