android listview单击事件

android listview单击事件今天我们来学习下listview单击事件,这在开发中是经常用的组件之一。1.新建一个项目,名为ListViewDemo。2.布置布局文件main.xmlandroid:orientation=”vertical”android:layout_width=”fill_parent”android:layout_height=”fill_parent”>

大家好,又见面了,我是你们的朋友全栈君。

今天我们来学习下listview 单击事件,这在开发中是经常用的组件之一。

1.新建一个项目,名为ListViewDemo。

android listview单击事件

2.布置布局文件main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView 
android:id="@+id/info"
android:layout_width="fill_parent"
android:layout_height="wrap_content" 
android:textSize="25px"
android:gravity="center_horizontal"/>
<ListView
android:id="@+id/datalist"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>

data_list.xml文件

<?xml version="1.0" encoding="utf-8"?>
<TableLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TableRow>
<ImageView
android:id="@+id/icon"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/file_icon"/>
<TextView 
android:id="@+id/_id"
android:textSize="15px"
android:gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView 
android:id="@+id/name"
android:textSize="15px"
android:gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
</TableLayout>

3.下面是核心代码

package org.listview.cn;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


import org.lxh.demo.R;


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;


public class MyListViewDemo extends Activity {
private String data[][] = { { "001", "C++" },
{ "002", "java" }, { "003", "SQL" },
{ "004", "LINUX" }, { "005", "汇编原理" },
{ "006", "计算机网络原理" }, { "007", "计算机组成原理m" },
{ "008", "数据结构" }, { "009", "操作系统" },
{ "010", "电子技术" } }; // 准备出若干个信息而这些信息以后将通过程序加入到内嵌的线性布局文件之中
private ListView datalist = null; // 定义ListView组件
private List<Map<String, String>> list = new ArrayList<Map<String, String>>(); // 定义显示的内容包装
private SimpleAdapter simpleAdapter = null; // 进行数据的转换操作
private TextView info = null;


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main);
this.datalist = (ListView) super.findViewById(R.id.datalist); // 取得组件
this.info = (TextView) super.findViewById(R.id.info); // 取得组件
for (int x = 0; x < this.data.length; x++) {
Map<String, String> map = new HashMap<String, String>(); // 定义Map集合,保存每一行数据
map.put("_id", this.data[x][0]); // 与data_list.xml中的TextView组加匹配
map.put("name", this.data[x][1]); // 与data_list.xml中的TextView组加匹配
this.list.add(map); // 保存了所有的数据行
}
this.simpleAdapter = new SimpleAdapter(this, this.list,
R.layout.data_list, new String[] { "_id", "name" } // Map中的key的名称
, new int[] { R.id._id, R.id.name }); // 是data_list.xml中定义的组件的资源ID
this.datalist.setAdapter(this.simpleAdapter);
this.datalist.setOnItemClickListener(new OnItemClickListenerImpl()); // 单击选项
}


private class OnItemClickListenerImpl implements OnItemClickListener {


@SuppressWarnings("unchecked")
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Map<String, String> map = (Map<String, String>) MyListViewDemo.this.simpleAdapter
.getItem(position);
String _id = map.get("_id");
String name = map.get("name");
MyListViewDemo.this.info.setText("选中的数据项ID是:" + _id + ",名称是:"
+ name);
}
}
}


4.运行项目。
android listview单击事件         
android listview单击事件5

5.ok,搞定,另外附上项目源码,供大家学习交流。======》http://download.csdn.net/detail/gsg8709/4138390


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163297.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux安装、卸载jdk及配置环境变量

    linux安装、卸载jdk及配置环境变量一、查看Jdk的安装路径:whereisjavawhichjava(java执行路径)echo$JAVA_HOMEecho$PATH二、卸载旧版本的JDK:1.确定JDK的版本:rpm-qa|grepjdkrpm-qa|grepgcj结果:copy-jdk-configs-2.2-5.el7_4.noarchjava-1.8.0-openjdk-headless-de…

    2022年6月25日
    23
  • Java中的对象数组「建议收藏」

    Java中的对象数组「建议收藏」Java对象数组在创建后,基本数据类型数组可以直接对数组元素赋值、引用等操作;而自定义对象数组,需要对数组中的每个对象元素独立进行创建,然后才可以对其赋值、引用等操作,如果没有单独对每个对象元素创建,会导致空指针异常1.基本数据类型数组数组都要先声明、再创建后使用。基本数据类型数组的声明有以下几种格式(以int类型为例):①int[]array;②int[]array=newint;③in…

    2022年7月16日
    13
  • vscode golang环境搭建「建议收藏」

    vscode golang环境搭建「建议收藏」vscode安装百度下载可执行文件,一路nextgolang安装下载地址为:https://golang.google.cn/dl/如果是linux环境,解压到某个目录。然后配置/etc/profile设置相关环境变量如果是windows环境,下载https://dl.google.com/go/go1.13.5.windows-amd64.msi,然后设置环境变量。环境变量为:G…

    2022年10月9日
    0
  • 蓝牙音频传输格式:ACC,SBC,APTX和LDAC_蓝牙sbc和aac的区别

    蓝牙音频传输格式:ACC,SBC,APTX和LDAC_蓝牙sbc和aac的区别先转载一部分通用的知识众所周知,蓝牙耳机的音频解码主要分为sbc,aac,aptx,ldac,Ihac等几种。下面是简单的介绍。、、1、sbc是通用的最基本的解码方式,蓝牙耳机都支持,支持44khz/16bit的音频,最高码率是328kbps,延时大约220ms,所以音质一般。2、aac是苹果产品通用的解码方式,跟sbc差不多,支持44khz/16bit的音频,最高码率512kbps,延时大约100ms,音质略好于sbc。3、aptx是高通的专利,支持48khz/16bit的音频,最高码率352kb

    2022年9月4日
    2
  • 反射型XSS的利用「建议收藏」

    反射型XSS的利用「建议收藏」反射型XSS:用户输入的恶意代码,被执行。利用:它通过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,特有的恶意代码参数被HTML解析、执行。它的特点是非持久化,必须用户点击带有特定参数的链接才能引起。以前一直觉得反射型XSS危害不大,只能自己在客户端玩玩,实现弹窗。没想到,反射型XSS的利用比存储型还更容易,存储型XSS的利用还需结合CSRF.这篇博客很好的讲述了反射型XS…

    2022年5月4日
    96
  • django修改数据_模型

    django修改数据_模型前言在ORM框架中,所有模型相关的操作,比如添加/删除等。其实都是映射到数据库中一条数据的操作。因此模型操作也就是数据库表中数据的操作。添加一个模型到数据库中:添加模型到数据库中。首先需要创建一

    2022年7月30日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号