Android编程开发中ListView的常见用法分析

作者:Vector_Yi 时间:2022-04-15 09:52:07 

本文实例讲述了Android编程开发中ListView的常见用法。分享给大家供大家参考,具体如下:

一、ListView的使用步骤

ListView的使用通常有以下三个要素:

(1)ListView中每个条目的布局;
(2)填充进入ListView中的内容;
(3)将内容与页面进行整合的Adapter.

因此,使用ListView也通常有以下三个步骤:

(1)创建ListView条目的布局文件(或使用Android SDK提供的布局);
(2)创建填充进入ListView中的内容,如字符串、图片等;
(3)创建Adapter并将其与ListView绑定.

二、使用默认的布局文件创建ListView

因为本例中使用的是Android SDK默认的布局文件:android.R.layout.simple_list_item_1,所以只需创建主Activity布局文件。

ListViewTest.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView
 android:id="@+id/mylistview"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent" >
</ListView>
</LinearLayout>

 接下来是Activity文件。

ListViewTestActivity.java


package com.blogtest;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class ListViewTestActivity extends Activity {
private static String[] strs = new String[] { "1", "2", "3", "4", "5" };//定义要显示的数据
private ListView myListView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.listviewtest);
 findWidgets();
 setAdapter();
}
private void findWidgets() {
 myListView = (ListView) findViewById(R.id.mylistview);
}
private void setAdapter() {
 myListView.setAdapter(new ArrayAdapter<String>(this,  //此例中用的是ArrayAdapter
   android.R.layout.simple_list_item_1, strs));//使用系统自带的布局文件
}
}

运行结果为:

Android编程开发中ListView的常见用法分析

三、支持多项选择的ListView

Android还提供了一个支持多项选择的item布局文件:android.R.layout.simple_list_item_multiple_choice.

但还必须调用ListView.setChoiceMode()方法。

修改的代码片段如下:


private void setAdapter() {
 myListView.setAdapter(new ArrayAdapter<String>(this,
   android.R.layout.simple_list_item_multiple_choice, strs));
 myListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
}

运行结果为:

Android编程开发中ListView的常见用法分析

四、响应触摸事件

为了让ListView中的Item响应点击事件,需要创建一个OnItemClickListener类并绑定给该ListView。废话不多说,以下为Activity类文件:


package com.blogtest;
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class ListViewTestActivity extends Activity {
private static String[] strs = new String[] { "0", "1","2", "3", "4", "5" };
private ListView myListView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 findWidgets();
 setAdapter();
 setListener();
}
private void findWidgets() {
 myListView = (ListView) findViewById(R.id.mylistview);
}
private void setAdapter() {
 myListView.setAdapter(new ArrayAdapter<String>(this,
   android.R.layout.simple_list_item_1, strs));
}
private void setListener() {
 myListView.setOnItemClickListener(new OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
    long arg3) {
   // TODO Auto-generated method stub
   new AlertDialog.Builder(ListViewTestActivity.this)
     .setMessage("Clicked Line No." + arg2)
     .setPositiveButton("Confirm", null).show();
  }
 });
}
}

运行结果为:

Android编程开发中ListView的常见用法分析

除了OnItemClickListener之外,还有OnItemLongClickListener,OnItemSelectedListener等 * .

希望本文所述对大家Android程序设计有所帮助。

标签:Android,ListView
0
投稿

猜你喜欢

  • ResultSet如何动态获取列名和值

    2022-01-16 15:54:01
  • Android测试方法总结

    2022-07-27 08:02:41
  • Android消息机制Handler用法总结

    2022-08-10 23:58:56
  • C# Winform 实现屏蔽键盘的win和alt+F4的实现代码

    2021-07-01 11:48:18
  • C#导出生成excel文件的方法小结(xml,html方式)

    2023-10-03 16:32:26
  • java 实现定时的方法及实例代码

    2023-03-31 22:48:41
  • 一文读懂Spring Bean的生命周期

    2022-11-01 04:01:20
  • Spring实战之方法级别缓存用法示例

    2022-10-20 02:00:32
  • 实例分析java对象中浅克隆和深克隆

    2023-01-07 07:48:20
  • Fluent Mybatis实际开发中的优势对比

    2022-07-09 14:29:34
  • Android实现购物车添加商品特效

    2021-06-25 22:59:45
  • SpringBoot集成整合JWT与Shiro流程详解

    2022-09-06 06:33:23
  • 关于java入门与java开发环境配置详细教程

    2023-11-24 14:21:44
  • Unity中的PostProcessBuild实用案例深入解析

    2021-06-08 13:48:51
  • C# FileStream文件读写详解

    2021-10-27 15:44:14
  • Spring Boot实现分布式系统中的服务发现和注册(最新推荐)

    2022-07-10 03:50:23
  • C++ pair的用法案例详解

    2021-09-21 01:40:20
  • C#中流的使用和分类

    2022-10-04 22:17:41
  • Spring中的bean概念介绍

    2023-01-18 07:46:49
  • java多线程CyclicBarrier的使用案例,让线程起步走

    2023-05-20 16:22:22
  • asp之家 软件编程 m.aspxhome.com