我正在使用自动填充功能从Google API中获取地点。它的工作正常。它提取所有的地方下拉但事情是,如果我点击该项目,onItemClick监听器不适用于自动完成。
这是代码
// jQuery Framework in noConflict mode
JHtml::_('jquery.framework', false);
$document = JFactory::getDocument();
$js =<<<JS
jQuery(document).ready(function(){
jQuery("#profiletypes").change(function(){
if(jQuery(this).attr("value")=="3"){
jQuery(".box").hide();
jQuery(".choose").show();
}
if(jQuery(this).attr("value")=="5"){
jQuery(".box").hide();
jQuery(".green").show();
}
if(jQuery(this).attr("value")=="6"){
jQuery(".box").hide();
jQuery(".blue").show();
}
if(jQuery(this).attr("value")=="7"){
jQuery(".box").hide();
jQuery(".red").show();
}
}).change();
});
JS;
// The above 'JS' must be at the start of the line, not tabbed in
// Add the JS
$document->addScriptDeclaration($js);
此代码是PlacesAdapter的构造函数
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"));
}
});
答案 0 :(得分: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) {
}
});