ListView控件功能全解析

ListView是Android手机系统中使用非常频繁的控件,以垂直列表的形式显示数据项,ListView的用法也较为复杂,下面将详细介绍ListView相关的各种用法。

1、创建使用ListView

有2种方式创建ListView

  • 在布局文件中使用ListView创建
<ListView 
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

在代码中获取到实例后为ListView设置Adapter

        listView = (ListView)findViewById(R.id.list);
        listView.setAdapter(adapter);
  • Activity继承ListActivity

继承ListActivity后,不需要设置布局文件,直接使用setListAdapter()为ListView设置Adapter即可

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setListAdapter(adapter);
    }

2、自定义ListView的item格式

新建布局文件item.xml,代码如下:

<TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textColor="#F00"
        android:textSize="16sp"/>

将文字设为居中显示,设置了文本的颜色和大小,构造Adapter时将布局文件传入

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.item, datas);
        listView.setAdapter(adapter);

这里写图片描述

3、设置ListView的点击事件

为ListView的item设置点击事件

listView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                // TODO Auto-generated method stub
                Toast.makeText(MainActivity.this, "Item " + datas.get(position) + " clicked", Toast.LENGTH_LONG).show();
            }
        });

运行程序,点击列表项

这里写图片描述

4、ListView数据改变,更新ListView

修改ListView的点击事件,点击item后删除List中的数据项,数据改变后,页面不会自动刷新,需要调用adapter的notifyDataSetChanged()方法通知列表更新

listView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                // TODO Auto-generated method stub
                Toast.makeText(MainActivity.this, "Item " + datas.get(position) + " deleted", Toast.LENGTH_LONG).show();
                datas.remove(position);
                adapter.notifyDataSetChanged();
            }
        });

运行程序,点击任意列表项

这里写图片描述

5、ListView显示多种类型的item

上面的例子都是显示的一个类型的列表项,只包含一个TextView,有时会需要显示几种不同的item,包含图片、文本、按钮等元素,这就需要为ListView定义几个不同的布局文件,一个布局文件代表一种类型的item

布局文件item1.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher"/>

    <TextView 
        android:layout_width=
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android ListView 中的 Button 是一种用于处理列表项中按钮点击事件的控件。在 ListView 中,每个列表项都可以包含一个 Button 控件,用于执行特定的操作。 要在 ListView 中添加 Button,需要创建一个自定义的适配器(Adapter),在适配器的 getView() 方法中定义每个列表项的布局和按钮的点击事件。 首先,在布局文件中定义 ListView,并为每个列表项添加一个 Button。然后,创建一个自定义的适配器类,继承自 BaseAdapter,并实现必要的方法。在适配器的 getView() 方法中,使用 LayoutInflater 将列表项的布局文件解析为 View 对象,并为 Button 设置点击事件。 在按钮的点击事件处理方法中,可以根据列表项的位置(position)执行不同的操作,例如弹出对话框、跳转到其他页面或执行一些数据处理逻辑。点击事件处理方法可以使用匿名内部类实现,也可以将点击事件处理方法定义为适配器类的内部类或者外部类。 在 Activity 中,通过 findViewById() 方法获取 ListView 对象,并为 ListView 设置适配器。这样,当 ListView 的列表项被显示时,按钮点击事件就会被触发,从而执行相应的操作。 总结来说,Android ListView 中的 Button 可以通过自定义适配器在每个列表项中添加,用于处理按钮的点击事件。通过适配器的 getView() 方法和按钮点击事件处理方法,可以根据列表项的位置执行相应的操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值