一起Talk Android吧(第七十三回:Android中UI控件之ListView基础)

各位看官们,大家好,上一回中咱们说的是Android中UI控件之总结的例子,这一回咱们说的例子是UI控件之ListView。闲话休提,言归正转。让我们一起Talk Android吧!

看官们,我们在前面介绍了常用的控件,不过他们都是单一的控件,本章回中我们将介绍一种常用的复合控件,说它是复合控件的原因在于,它可以把其它的控件包含进来和自己一起使用。那么到底是什么控件呢?它就是ListView控件。ListView是一种用来显示大量数据的组件,当一个屏幕显示不下所有内容时,滑动屏幕就可以继续显示其它内容。接下来我们通过代码结合文本的方式来演示如何使用这种组件。

  • 1.在布局中添加ListView。通常是在Activity或者Fragment的布局文件中添加。
    <ListView
        android:id="@+id/list_view"    //控件id和长宽属性
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    </ListView>
  • 2.在代码中获取布局文件中的ListView。通常位于Activity或者Fragment的onCreate方法中。
  private mListView = (ListView)findViewById(R.id.list_view);
  • 3.在代码中为ListView添加需要显示的数据。
    数据不能直接添加到ListView中,而是通过适配器来进行该操作。因此首先要创建适配器,并且把ListView和适配器关联起来。适配器才是存放数据的容器,它存放的数据也就是ListView中显示的数据。下面是具体的代码:
  private String[] data = {"Mon","Tues","Wed","Thur","Fri","Sat","Sun"}; //适配器中存放的数据

   private ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>
    (Activity2.this,android.R.layout.simple_list_item_1,data);

  mListView.setAdapter(arrayAdapter);  //把适配器和ListView关联起来

在上面的代码中,创建的是String类型的适配器。其实适配器使用了泛型,泛型的类型可以自己来指定,我们为了方便才使用了String类型。创建适配器时使用了适配器的构造方法,该方法中第一个参数是ListView所在布局的context,第二个参数是ListView的子布局,也就是ListView中每一个内容的布局,这里使用了系统提供的布局,也可以自己定义一个布局,第三个参数是String类型的数组,数组中为具体的数据。当然了这个数据有多种组织方式,常见的是数组或者List.

  • 4.给ListView添加事件监听器,当ListView中的某个内容被点击时就会触发该监听器,下面是具体的代码。
       mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                String item = data[i];
                Toast.makeText(Activity2.this,"Todat is "+item,Toast.LENGTH_LONG).show();
            }
        });

在上面的代码中,我们重写了onItemClick方法,该方法是回调函数,触发监听器后就会调用它。该方法的第三个参数表示ListView中被点击的内容在ListView中的位置,在本例子中也就是数组中第几个元素。我们取出了数组中的元素并且通过Toast显示出来。下面是程序的运行结果,请大家参考:

这里写图片描述

各位看官,关于Android中UI控件之ListView基础的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值