使用SimpleAdapter创建ListView (1),android开发框架介绍

本文介绍了如何在Android应用中使用SimpleAdapter来创建ListView。首先定义了一个包含TextView和ImageView的list_item.xml布局文件,然后在MainActivity中创建了一个包含名字和图标的数据列表,并通过SimpleAdapter将数据绑定到ListView上。此外,还实现了ListView的点击和选中事件处理,展示了一个简单的列表交互效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

</android.support.constraint.ConstraintLayout>

定义列表项,这里定义了ID为R.id.name的TextView组件和ID为R.id.icon的ImageView组件。

list_item.xml:

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

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

android:layout_width=“match_parent”

android:layout_height=“match_parent”

android:orientation=“horizontal”>

<TextView

android:id="@+id/name"

android:layout_centerVertical=“true”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:paddingLeft=“20dp”

android:layout_alignParentLeft=“true” />

<ImageView

android:id="@+id/icon"

android:layout_width=“48dp”

android:layout_height=“48dp”

android:paddingRight=“20dp”

android:layout_alignParentRight=“true”/>

activity中使用SimpleAdapter

package com.example.yang.androidui;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.*;

import android.widget.*;

import java.util.*;

public class MainActivity extends AppCompatActivity {

private ListView mListView;

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

private int[] icons = new int[]{R.drawable.lion,R.drawable.tiger,

R.drawable.monkey,R.drawable.dog,R.drawable.cat};

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

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

final int color1=0xFFC5B5FF;

final int color2=0xFFFFFFFF;

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

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

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

listItem.put(“icon”,icons[i]);

//加入list集合

ListItems.add(listItem);

}

ListView list=(ListView)findViewById(R.id.lv);

SimpleAdapter simpleAdapter=new SimpleAdapter(this,ListItems,

R.layout.list_item,new String[]{“name”,“icon”},

new int[]{R.id.name,R.id.icon});

//为ListView设置Adapter

list.setAdapter(simpleAdapter);

list.setOnItemClickListener(new AdapterView.OnItemClickListener(){

pub

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

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

int flag=0;

System.out.println(names[position]+position+“被单击”);

//点击则改变状态,改变颜色

switch (flag){

case 0:

//view.setBackgroundColor(color1);

//此处对应上面布局文件的点击函数

view.setSelected(true);

CharSequence text=names[position];

//定义一个Toast表示哪一个图片所在item被点击

int duration= Toast.LENGTH_SHORT;

Toast toast=Toast .makeText(MainActivity.this,text,duration);

toast.show();

flag=1;

break;

case 1:

//view.setBackgroundColor(color2);

view.setSelected(false);

CharSequence text1=names[position];

int duration1= Toast.LENGTH_SHORT;

Toast toast1=Toast .makeText(MainActivity.this,text1,duration1);

toast1.show();

flag=0;

break;

}

}

});

//选中函数

list.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){

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

System.out.println(names[position]+“选中”);

}

public void onNothingSelected(AdapterView<?> parent){

}

});

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值