安卓SimpleAdapter与Listview,音视频基础知识书籍

(3)使用Toast显示选中的列表项信息

实验环境

Android Studio 3.1.0 以安卓SimpleAdapter与Listview,音视频基础知识书籍
上版本

实验步骤

1.把图片放在res/drawable目录下((注意复制图片时的选择格式不是v24类型)),命名如下:

安卓SimpleAdapter与Listview,音视频基础知识书籍

2.定义一个线性布局,用于定义ListView

如图所示目录与文件

安卓SimpleAdapter与Listview,音视频基础知识书籍

该ListView界面显示如下

安卓SimpleAdapter与Listview,音视频基础知识书籍

该布局文件源码:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xmlns:android=“http://schemas.android.com/apk/res/android”

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:orientation=“horizontal”>

<ListView

android:id="@+id/mylist"

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:listSelector="@color/colorAccent"

android:listSelector=”@color/colorAccent”这句非常重要,当点击到某个item时该item会改变颜色,对应activity里的点击事件。

android:listSelector=”@color/colorAccent”该颜色对应res/values/colors.xml中对应的颜色定义。

安卓SimpleAdapter与Listview,音视频基础知识书籍

3.创建一个Activity,该Activity的源码如下:

package com.example.sxy.exam4;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.view.Window;

import android.widget.AdapterView;

import android.widget.ListView;

import android.widget.SimpleAdapter;

import android.widget.Toast;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

public class Exam4Activity extends AppCompatActivity {

//用于显示布局里的动物名称

private String[] names = new String[]{“Lion”,“Tiger”,“Monkey”,“Dog”,“Cat”,“elephant”};

private int[] image=new int[]{R.drawable.lion,R.drawable.tiger,R.drawable.monkey,R.drawable.dog,R.drawable.cat,R.drawable.elephant};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

//此处引用布局文件

setContentView(R.layout.main);

final int color1=0xFFC5B5FF;

final int color2=0xFFFFFFFF;

//创建一个list集合,list集合的元素是Map

List<Map<String,Object>> ListItems=new ArrayList<Map<String, Object>>();

for (int i=0;i<names.length;i++){

Map<String,Object> listItem=new HashMap<String,Object>();

listItem.put(“header”,names[i]);

listItem.put(“images”,image[i]);

//加入list集合

ListItems.add(listItem);

}

//创建一个SimpleAdapter,此处严格按照定义数组names与image顺序,否则会出现程序build成功却运行失败且难以解决错误

SimpleAdapter simpleAdapter=new SimpleAdapter(this,ListItems,R.layout.simple_items,new String[]{“header”,“images”},new int[]{R.id.header,R.id.images});

final ListView list=(ListView)findViewById(R.id.mylist);

//为ListView设置Adapter

list.setAdapter(simpleAdapter);

//对应点击事件

list.setOnItemClickListener(new AdapterView.OnItemClickListener(){

public void onItemClick(AdapterView<?> parent, View view, int position, long id){

int flag=0;
apter);

//对应点击事件

list.setOnItemClickListener(new AdapterView.OnItemClickListener(){

public void onItemClick(AdapterView<?> parent, View view, int position, long id){

int flag=0;

上一篇:URI


下一篇:【Android知识复习总结】ListView