ListView的相关研究(二)
来源:互联网 发布:南侨机工英雄传 知乎 编辑:程序博客网 时间:2024/05/16 08:03
本篇主要是使用系统ListView进行String类型数据的显示以及点击事件的处理
首先贴出我的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" tools:context="${relativePackage}.${activityClass}" > <ListView android:id="@+id/lv_normal" android:layout_width="match_parent" android:layout_height="match_parent"> </ListView> </RelativeLayout>
xml布局很简单,在RelativeLayout中添加了一个充满整个屏幕的ListView控件
下面是MainActivity中的相关代码:
package com.jokerx.mylistview.activity;import java.util.ArrayList;import com.jokerx.mylistview.R;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.ListView;public class NormalListView extends Activity {private ListView mLsitView;private ArrayList<String> nameList;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_normal_list_view);initView();initData();//用系统自带的Adapter来进行显示mLsitView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, nameList));mLsitView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);mLsitView.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {Log.e("parent", parent + "");Log.e("view", view + "");Log.e("position", position + "");Log.e("id", id + "");}});}private void initData() {String name = "张三";nameList = new ArrayList<String>();for(int i = 0; i < 10; i ++){nameList.add(name + i);}}private void initView() {mLsitView = (ListView) findViewById(R.id.lv_normal);}}
首先初始化界面显示,在这里我用循环制造了10个数据,封装到一个ArrayList中。最主要的步骤就是为ListView设置Adapter适配器。这里我直接new了一个系统自带的ArrayAdapter,其中有三个参数,分别是 context:上下文, resource:具体显示的item的资源id, objects:具体的数据,官方的注释如下:
context The current context.
resource The resource ID for a layout file containing a TextView to use when instantiating views.
objects The objects to represent in the ListView.
Android自带了几种item的显示外观,可在resource处进行更改,在Demo中我用的是一个带有选择框的item来进行显示,在采用这个item的时候,必须要设置
mLsitView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);这条属性,否则点击之后item不会产生变化。
然后是item点击事件:有四个属性。分别是parent 是所用ListView的信息, view 是点击的Adapter中具体的View,可以对view进行相关的操作, position 所用adapter中的哪一项项,编号从0开始, id 是ListView 中对应的哪一项,编号从0开始
官方的注释如下:
parent The AdapterView where the click happened.
view The view within the AdapterView that was clicked (this will be a view provided by the adapter)
position The position of the view in the adapter.
id The row id of the item that was clicked.
下章将研究自定义ListView以及自定义Adapter的知识。
- ListView的相关研究(二)
- ListView的相关研究(一)
- listview的相关使用方法和适配器的加载(二)
- ListView使用技巧(二):相关设置
- 关于listview的研究(一)
- ListView事件的研究
- ListView事件的研究
- ListView事件的研究
- ListView事件的研究
- 【Day24】几道值得研究注意的php相关问题(二)
- 工作中遇到的listview相关问题(二)——item包含EditText
- 十进制的研究(二)
- Echarts的研究(二)
- ListView的使用(二)
- ListView的使用(二)
- TLD算法的相关研究(1)
- TLD算法的相关研究(2)
- TLD算法的相关研究(3)
- HDU1568 Fibonacci 斐波那契的前4位
- 【原创首发】针对java初学者的环境变量配置工具
- Unreal Open Day游记
- test
- 羽化效果的HeatMap
- ListView的相关研究(二)
- Datatables之表头和表尾
- Ubuntu 14.04一步一步安装Openstack Kilo版本-5(mysql)
- selenium+python 环境配置
- Java ThreadLocal
- linux中ps命令的用法说明
- Effective C++ 条款47
- CentOS 7 SSH配置免密码登录
- linux awk命令详解---sql语句对等awk语句