ListView的使用
1、显示简单内容,
在布局管理器中新建<ListView>控件,布局管理后在主程序中使用ListView listView = findViewById(R.id.listView)。然后对ListView添加数据,先添加一个简单的文本数据。
产生数据,List<String> list = new ArrayList(); list.add();//加载数据,然后将数据放入一个Adapter中,建立一个Adapter,并将数据传入。ArrayAdapter arrayAdapter = new ArrayAdapter(MainActivity.this,android.R.layout.simple_list_item_1,list),第一个参数是上下文,第二个参数是系统提供的布局,该布局仅有一个TextView控件,当需要传递跟多复杂的信息时可以使用自己的布局文件。最后使用listView.setAdapter(arrayAdapter),将ListView和arrayAdapter关联起来。
2、显示比较丰富的界面和内容
建好控件,完成初始化后,应我们要显示的listView比较复杂,我们写一个自己的适配器,新建一个类让其继承至BaseAdapter,仿照ArrayAdapter的构造函数,我们在自己定义的适配器中定义两个变量,一个为上下文,另外一个就是list用来存放我们的数据,并为这个适配器写一个布局文件这里我们写了一个item.xml的文件。此时我们暂停考虑一下数据的来源,这个数据就是每个ListView中包含的信息,包含多个信息,在我们需要显示的界面中有一个ImageView,三个TextView,我们建立一个类专门来存放这些数据。public class User { private String nameUrl//图片的地址,private String name//第一个TextView中显示的内容 private String message //第二个TextView中显示的内容private String time //第三个TextView中显示的内容}为它们建立set和get方法还有构造函数。返回到我们自己写的适配器那里,第二个变量就是List<User>.写构造函数。在其它几个需要重载的函数中适当修改,在 public int getCount() { return list.size();}//获取ListView的条目数,public Object getItem(int i) {return list.get(i);}//返回第几个对象
public long getItemId(int i) { return i;}//返回第i个item的id,在最后一个重载的函数中 public View getView(int i, View view, ViewGroup viewGroup) {
//通过我们的layout实现一个View,inflate函数的参数第一为上下文,第二为布局文件,三为是否与父相关
view = View.inflate(context,R.layout.item,null);
//获取view中的ImageView控件,并对其进行赋值,找控件必须加上view
ImageView imageView = view.findViewById(R.id.tupian);
imageView.setImageResource(R.drawable.boy);
//获取view中的TextView控件,并对其进行赋值
TextView textView1 = view.findViewById(R.id.textView1);
textView1.setText(list.get(i).getName());
//获取view中的TextView控件,并对其进行赋值
TextView textView2 = view.findViewById(R.id.textView2);
textView2.setText(list.get(i).getMessage());
//获取view中的TextView控件,并对其进行赋值
TextView time = view.findViewById(R.id.time);
time.setText(list.get(i).getTime());
return view;
}
ListView的使用
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
- 一、上节回顾: (一)、三大表单控件中需要记忆的核心方法: 1、RadioButton: RadioGroup类中...