在绑定数据源时,需自定义ArrayAdapter,并覆盖getView()方法。在getView()方法中,设置AutoCompleteTextView的文本为选定项目的正确文本。
示例代码如下:
CustomArrayAdapter.java:
public class CustomArrayAdapter extends ArrayAdapter {
private Context mContext;
private List mMyDataList;
public CustomArrayAdapter(Context context, List myDataList) {
super(context, 0, myDataList);
mContext = context;
mMyDataList = myDataList;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(R.layout.list_item, parent, false);
}
TextView textView = (TextView) convertView.findViewById(R.id.tv_text);
MyData myData = mMyDataList.get(position);
textView.setText(myData.getCorrectText());
return convertView;
}
}
在Activity中设置AutoCompleteTextView的Adapter:
List myDataList = getMyDataList(); // 获取数据源
CustomArrayAdapter adapter = new CustomArrayAdapter(this, myDataList);
autoCompleteTextView.setAdapter(adapter);
autoCompleteTextView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView> parent, View view, int position, long id) {
MyData selectedData = (MyData) parent.getItemAtPosition(position);
String correctText = selectedData.getCorrectText();
autoCompleteTextView.setText(correctText); // 设置正确文本到AutoCompleteTextView
}
});