今天,学习了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(); } });