Android之ListView和ArrayAdapter的组合使用
16lz
2022-07-20
ListView在android中的列表显示。主要是用于数据的显示,通常是从网络上解析出来的数据,显示到ListView上。可以显示很多行,每一行习惯上称之为item。而要控制ListView总共要显示多少个item,以及每个item的布局,则需要使用到适配器------- adapter。
首先使用ArrayAdapter适配器。而ListView和ArrayAdapter将在以下的代码中详细讲解。更多详细的信息,请参考Android官方文档。
MainActivity中的内容如下所示:
package com.zzh.day_listview;import java.util.ArrayList;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemLongClickListener;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.Toast;public class MainActivity extends Activity{ListView lv;ArrayListlist = new ArrayList ();@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);lv = (ListView) findViewById(R.id.listView1); // 找到lv的对象// 初始化list集合。for (int i = 0; i < 20; i++){list.add("item -- " + i);}// 设置ListView的适配器。/* * ArrayAdapter构造方法中的参数: * 参数一:当前上下文路径,即要在哪个Activity中显示。 * 参数二:布局文件的ID。这里使用的是系统提供的 * 。这个布局文件与一般的布局文件不同,ArrayAdapter中,只接收有一个TextView的布局文件 * ,如R.layout.list_item。 * 参数三:要显示的数据集合。在重载的构造方法中:第三个参数还可以是一个数组。 */ArrayAdapter adapter = new ArrayAdapter (this,android.R.layout.simple_list_item_1, list);lv.setAdapter(adapter);// 将适配器注册给ListView// 给ListView增加长按监听事件.增加点击事件是lv.setOnClickListener();lv.setOnItemLongClickListener(new OnItemLongClickListener(){/** * 参数一:当前点击的item所在的父控件 * 参数二:当前所点击的那个item对象 * 参数三:所点击的位置。 * */@Overridepublic boolean onItemLongClick(AdapterView<?> parent, View view,int position, long id){Toast.makeText(MainActivity.this, "当前点击了第" + position+"项",Toast.LENGTH_LONG).show();return false;}});}}
activity_main.xml中
list_item.xml中(不是必须的文件布局):
效果如下图:
更多相关文章
- mybatisplus的坑 insert标签insert into select无参数问题的解决
- Python技巧匿名函数、回调函数和高阶函数
- python list.sort()根据多个关键字排序的方法实现
- android中文api(89)——ViewManager
- Android(安卓)P SystemUI之StatusBar UI布局status_bar.xml解析
- Android调用天气预报的WebService简单例子
- android用户界面-组件Widget-地图视图MapView
- Android(安卓)Activity的启动
- Android中使Dialog显示时背景不变暗