自动完成onItemClickListener事件不触发?
我正在使用自动完成功能从Google API获取地点。它的工作很好。它提取所有的地方下降,但事情是,如果我点击该项目,onItemClick侦听器不工作的自动完成。自动完成onItemClickListener事件不触发?
这是代码
ArrayList<String> values=new ArrayList<String>();
for(int i=0;i<result.size();i++)
{
values.add(result.get(i).get("description"));
}
PlacesAdapter placesAdapter=new PlacesAdapter(getActivity(),values);
// Setting the adapter
tempAutoCompleteTextView.setDropDownVerticalOffset(20);
tempAutoCompleteTextView.setAdapter(placesAdapter);
tempAutoCompleteTextView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getActivity(), "place"+postion, Toast.LENGTH_SHORT).show();
tempAutoCompleteTextView.setText(result.get(position).get("description"));
}
});
此代码是PlacesAdapter
的public class PlacesAdapter extends ArrayAdapter {
private ArrayList<String> list;
private Activity mContext;
public PlacesAdapter(Activity context,ArrayList<String> list) {
super(context,list.size(),list);
this.list = list;
mContext = context;
}
你必须使用itemSelectedListener
,而不是用于这一目的的构造。
tempAutoCompleteTextView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
我也试过这个。不工作:( –
请调试并检查它是否被调用,如果没有,那么也检查与onItemClick监听器相同的程序。@ramyabr – KDeogharkar
我检查两个都不工作 –
您正在使用自定义视图吗? – Bharatesh