今天,学习了ListView组件,ListView组件是android中很常见的一个组件,在ListView组件中,有两个很重要的属性,一个是要设置适配器,也就是设置ListView中的每一项都设置布局,绑定对象,返回成员信息,设置id,第二个就是,对ListView设置子控件点击事件。
//listview适配器
public class MyAdapter extends BaseAdapter{
private int count;
public MyAdapter(int count) {
super();
this.count = count;
}
//返回条目数量
@Override
public int getCount() {
return count;
}
//返回当前position位置对应的条目的object对象
@Override
public Object getItem(int position) {
return null;
}
//返回当前位置条目的id,一般设置当前position
@Override
public long getItemId(int position) {
return position;
}
/**
* 返回每一个条目返回的具体内容
* 一个界面显示几个条目,就被调用几次,在滚动条滚动时,新出现的条目也会调用
* @param parent 表示父控件(当前listview)
*/
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//系统服务-->通过资源文件创建view对象,第二个参数表示根元素
View view = inflater.inflate(R.layout.listview, null);
//寻找两个组件
TextView name = (TextView) view.findViewById(R.id.tv_name);
TextView age = (TextView) view.findViewById(R.id.tv_age);
name.setText("name:xiongmao"+position);
age.setText("age:"+position);
return view;
}
}
以上是一个自定义的适配器类
以下是设置子控件点击事件
//设置子控件点击事件
listView.setOnItemClickListener(new OnItemClickListener() {
/**
* parent listview父控件
* view 被点击的view对象
* position 当前位置
* id 当前id
*/
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
TextView tvname = (TextView) view.findViewById(R.id.tv_name);
String name = tvname.getText().toString();
Toast.makeText(MainActivity.this, name, Toast.LENGTH_SHORT).show();
}
});