Android list view

一,listView简介1,listView的功能:显示列表2,创建ListView的三要素:(1)布局(决定每一行可以显示什么东西)(2)数据:填入View的文字、图片等内容,或者是某些基本组件; (3)适配器:布局和数据都是先放在这里面的,然后再用ListView1.setAdapter(适配器)来设置ListView1中显示什么东西,即将ListView绑定到适配器上。3,适配器有几种呢?(1)ArrayAdapter,用来绑定一个数组,显 示一行文字;(2)SimpleAdapter,在xml中定义的布局 ,绑定所对应的数据;(3) SimpleCursorAdapter,用来绑定游标指向的数据,主要用于绑定数据库;(4) BaseAdapter,通用的基础适配器;二,ArrayAdapter介绍1,ArrayAdapter(Context contenxt, int resource, List objects)(1)Context:一个activity或Service都是一个Context。(2)resource:布局的ID(3)object:通常是一个字符串数组2,在UI界面显示ListView(1)在Layout中添加ListView控件;(2)用setContentView加载ListView,无需设置Layout文件;(3)直接继承系统自带的ListAcitivity,该ListActivity实现了ListView,显示ListView的时候做了优化,不需要使用setContentView了。3,具体实例:import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.widget.ListView;import android.widget.ArrayAdapter;public class MainActivity extends AppCompatActivity {    private String[] mListStr = {“学校:江苏大学”,“地址:江苏省镇江市”,“邮编:212013”,“前身:江苏理工大学”};    private ListView listView1;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);//setContentView(R.layout.activity_main);        listView1=new ListView(this);        listView1.setAdapter(new       ArrayAdapter(this,android.R.layout.simple_expandable_list_item_1,mListStr));        setContentView(listView1);    }}实例说明:android.R.layout.simple_expandable_list_item_1为系统自带的布局文件。系统自带的布局一般以android.R.layout.开头,而用户定义的布局文件一般以R.layout.开头。而系统自带的布局文件在哪呢?答:Android\sdk\platforms\android-24\data\res\layout。而这些布局的参考说明在https://developer.android.google.cn/reference/android/R.layout.html由此我们引出一个问题,那就是那几个系统自带的布局文件是比较常用的呢?下面介绍一个常用的几个系统自带的布局4,常用系统自带的布局(1)通过指定android.R.layout.simple_list_item_checked这个资源,实现带选择(打勾)的ListView。需要用setChoiceMode()方法设定选择为多选还是单选;(2)通过指android.R.layout.simple_list_item_multiple_choice这个资源实现带CheckBox的ListView。同样需要用setChoiceMode()方法来设置单选或者多选;(3)通过指定android.R.layout.simple_list_item_single_choice这个资源实现带RadioButton的ListView,是多选还是单选 要通过setChoiceMode()方法来指定;具体例子:import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.ListView;import android.widget.ArrayAdapter;import android.widget.AdapterView.OnItemClickListener;public class Main3Activity extends AppCompatActivity {    private String[] mListStr = {“学校:江苏大学”,“地址:江苏省镇江市”,“邮编:212013”,“前身:江苏理工大学”,“电话:0511-88780030”};    private ListView listView3;     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        listView3=(ListView)findViewById(R.id.list3);//listView3.setAdapter(newArrayAdapter(this,android.R.layout.simple_list_item_1,mListStr));//listView3.setAdapter(newArrayAdapter(this,android.R.layout.simple_list_item_checked,mListStr) );//listView3.setAdapter(newArrayAdapter(this,android.R.layout.simple_list_item_multiple_choice,mListStr) );//listView3.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);        listView3.setAdapter(new                ArrayAdapter(this,android.R.layout.simple_list_item_single_choice,mListStr) );        listView3.setChoiceMode(ListView.CHOICE_MODE_SINGLE);        listView3.setOnItemClickListener(new OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> parent, View view, int position, long id)            {                setTitle("你点击了第"+position+"行");            }        });    } }三,SimpleAdapter:每行显示有图片和文字时用1,SimpleAdapter(Context context, List<? extends Map

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值