手记

输入内容的自动匹配(AutoCompleteTextView)的点击事件遇到的问题

如果 我们点击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]);

}

});

原文链接:http://www.apkbus.com/blog-813041-62932.html

0人推荐
随时随地看视频
慕课网APP