2016-05-16 140 views
2

我正在使用自动完成功能从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; 
} 
+0

您正在使用自定义视图吗? – Bharatesh

回答

1

你必须使用itemSelectedListener,而不是用于这一目的的构造。

tempAutoCompleteTextView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
      @Override 
      public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { 

      } 

      @Override 
      public void onNothingSelected(AdapterView<?> adapterView) { 


      } 
     }); 
+0

我也试过这个。不工作:( –

+0

请调试并检查它是否被调用,如果没有,那么也检查与onItemClick监听器相同的程序。@ramyabr – KDeogharkar

+0

我检查两个都不工作 –

相关问题