经常忘记listView中监听怎么获取到监听的内容,当作笔记记录下
1、首先获取listView
listView = (ListView) findViewById(R.id.listView);
2、添加适配器,即是在listView 中添加内容(保存在适配器中)
MyAdapter myAdapter = new MyAdapter(this,list);
listView.setAdapter(myAdapter);
3、设置适配器的监听
listView.setOnItemClickListener(new ItemClickEvent());
private final class ItemClickEvent implements OnItemClickListener{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// TODO Auto-generated method stub
String text = listView.getItemAtPosition(position).toString();
Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show();
wifiSSID = list.get(position).SSID ;
Log.v("my", "wifiSSID in ClickLisntener is "+wifiSSID);
//创建一个点击listview后的弹出一个输入密码的对话框
showAlterDialog();
Log.v("my", "there is running ItemClickEvent");
}
}
private void showAlterDialog(){
LinearLayout inputMessage = (LinearLayout)getLayoutInflater()
.inflate(R.layout.activity_alterdialog, null);
TextView wifiName = (TextView)inputMessage.findViewById(R.id.txtWifiName);
wifiName.setText(wifiSSID);
Log.v("my", "wifi name in showAlterDialog is "+wifiSSID);
//新建一个对话框
dialog = new AlertDialog.Builder(this)
.setTitle("connect wifi")
.setView(inputMessage)
.setPositiveButton("确认", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "sure", Toast.LENGTH_SHORT).show();
}
})
.setNegativeButton("取消", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "cacel", Toast.LENGTH_SHORT).show();
}
})
.show();
}
4、然后从监听事件中取出想要的内容,就是通过上面的标注红色的语句。list<scanResult>
百度得到取出用法是 list.get(poistion).xxx (position,就是监听的到的listView位置,xxx就是list里面的集合里面的某个列名)
其中一些是我自己觉得想法。如果在那里说的不对,请指出,谢谢