如果 我们点击AutoCompleTextView下拉列表会发现在setOnItemClickListenr方法中我们触发的position在我们的定义的字符创数组或集合的位置是不同的,这时候要是想要获取列表中的数据并对它处理的话,我们可以使用临时变量来处理。
final List<String>siteList=new ArrayList<String>();
List<Destination>des=mDbExecutor.findAll(Destination.class);
for(Destination d:des){
//des集合中存放着数据 xxxx----xxxx 如果我们获取后半部分需要使用临时变量
siteList.add(d.getSiteCode()+"----"+d.getDestinationName());
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,siteList);
beforeNoEdit.setAdapter(adapter);
beforeNoEdit.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
//Toast.makeText(FajianActivity.this, beforeNoEdit.getText().toString(), 0).show();
//String names[]=des.get(arg2).split("----"); 这样获取的不是我们点击的内容 这时候我们可以
//通过下面的方法实现
String names[]=beforeNoEdit.getText().toString().split("----");
beforeNoEdit.setText(names[0]);
//获取xxx----xxx后半部分的内容显示在控件上
etPreSite.setText(names[1]);
}
});
共同学习,写下你的评论
评论加载中...
作者其他优质文章