重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
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 (); @Override protected 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对象 * 参数三:所点击的位置。 * */ @Override public 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中(不是必须的文件布局):
效果如下图: