工程目录:

Activity

package com.example.test1121;import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.method.ScrollingMovementMethod;
import android.text.style.BackgroundColorSpan;
import android.text.style.ForegroundColorSpan;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ActionBar bar=getSupportActionBar();bar.hide();ListView lv=findViewById(R.id.lv);String color[]={"红色","黄色","蓝色"};SpannableString spannableString=new SpannableString("我是红色字符串");ForegroundColorSpan fc=new ForegroundColorSpan(Color.RED);spannableString.setSpan(fc,0,3, Spanned.SPAN_INCLUSIVE_INCLUSIVE);SpannableString spannableString2=new SpannableString("我是黄色字符串");ForegroundColorSpan fc2=new ForegroundColorSpan(Color.YELLOW);spannableString2.setSpan(fc2,1,3, Spanned.SPAN_INCLUSIVE_INCLUSIVE);SpannableString spannableString3=new SpannableString("我是蓝色字符串");ForegroundColorSpan fc3=new ForegroundColorSpan(Color.BLUE);spannableString3.setSpan(fc3,2,3, Spanned.SPAN_INCLUSIVE_INCLUSIVE);SpannableString ss[]={spannableString,spannableString2,spannableString3};final List<Map<String,Object>> list=new ArrayList<>();for(int i=0;i<color.length;i++){Map<String,Object> item=new HashMap<>();item.put("color",color[i]);item.put("spannableString",ss[i]);list.add(item);}BaseAdapter adapter=new BaseAdapter() {@Overridepublic int getCount() {return list.size();}@Overridepublic Object getItem(int position) {return list.get(position);}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {View item=View.inflate(getApplicationContext(),R.layout.adapter_layout,null);TextView c=item.findViewById(R.id.color);TextView mess=item.findViewById(R.id.mess);Map<String,Object> map=list.get(position);c.setText(map.get("color")+" ");mess.setText((SpannableString)map.get("spannableString"));return item;}};lv.setAdapter(adapter);}
}

adapter_layout里插入两个水平TextView

activity_main中插入一个ListView

Android使用BaseAdapter绑定ListView实现不同item的TextView多种文字变色相关推荐

  1. Android BaseAdapter与ListView的使用

    Android BaseAdapter与ListView的使用 定义:BaseAdapterextends Objectimplements ListAdapter SpinnerAdapter Ba ...

  2. Android ListView使用BaseAdapter与ListView的优化

    在ListView的使用中,有时候还需要在里面加入按钮等控件,实现单独的操作.也就是说,这个ListView不再只是展示数据,也不仅仅是这一行要来处理用户的操作,而是里面的控件要获得用户的焦点.读者可 ...

  3. android listview 列加id,Android实战开发之ListView同一个item显示2列的实现方法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Android实战开发中,ListView控件用途十分广泛,各种自定义控件多种多样.当项目要求实现一个2列的商品列表形式的界面,我们首先肯定想到用List ...

  4. android 自定义baseadapter listview,android之ListView和BaseAdapter的组合使用

    BaseAdapter是基本适配器,功能强大,凡是能用ArrayAdapter和SimpleAdapter解决的,都可以使用BaseAdapter解决. BaseAdapter是一个抽象类,所以需要自 ...

  5. android listview item 展开动画,android的ListView点击item使item展开的做法的实现代码

    本文介绍了android的ListView点击item使item展开的做法的实现代码,分享给大家,具体如下: 效果图: 原理是点击item的时候,重新measure list的各个item的高度 li ...

  6. Android的ArrayAdapter、SimpleAdapter、BaseAdapter与ListView的使用

    工程目录: MainActivity package com.example.demo_four;import androidx.appcompat.app.AppCompatActivity;imp ...

  7. Android 用HorizontalScrollView实现ListView的Item滑动删除

    原理: 利用HorizontalScrollView可以横向滚动的特点实现滑动,根据动态的设置要展示的区域宽度,使得其余选项操作被挤出屏幕外面,从而实现单条滑动菜单的样式. 实现步骤: 实现Listv ...

  8. Android 用HorizontalScrollView实现ListView的Item滑动删除 ,滑动错乱 冲突

    用HorizontalScrollView实现类似微信的滑动删除 测试于:Android2.2+ 对于Android来说按键操作已经在减少,越来越多的手势操作层出不穷,今天介绍一款LIstView的I ...

  9. android listview remove 动画,给Android ListView添加删除item动画

    给Android ListView添加删除item动画 给listview删除一个item的时候加上一个折叠动画,感觉效果会好一点. 步骤是当删除一个view,先用动画把view的高度改变,看上去就是 ...

最新文章

  1. 洛谷 [P1801] 黑匣子
  2. 最简单java设计模式:抽象工厂模式
  3. 队列的应用、栈的应用
  4. 灯鹭的简单开放,促进网站一举多赢
  5. bool类型数组转换成一个整数_「PHP」常用的数组键值操作函数,面试重点
  6. [jQuery基础] jQuery事件相关案例 -- 电影排行榜、Tab选项卡
  7. C语言程序设计线上测试01,2001年C语言程序设计笔试A卷.doc
  8. 【Qt串口调试助手】1.5 - 发送/接收字节数量统计
  9. 四级数据中心认证机构更新标准全新上线
  10. ISO 27001:2022 中文试译稿
  11. [OfficeExcel] 王佩丰老师OfficeExcel2010 1-4讲 Excel基本操作 学习笔记
  12. ENSP直连路由和静态路由配置(含路由表结构分析)
  13. 9-24 服务器连接一体机部署
  14. PS中添加插件 无法加载扩展,未经正确签署的解决方法
  15. 《我们赖以生存的隐喻》文学中的面向对象
  16. Java虚拟机JVM简介与理解(三)
  17. 导致网页图片字体模糊的原因
  18. 【npm】tunneling socket could not be established
  19. 对于程序员“中年危机”的一点思考
  20. 微信小程序(布局适配与物理逻辑像素)

热门文章

  1. 女朋友学高数,我花了 15 分钟用栈给她写了一个计算器 | 原力计划
  2. 腾讯云2019年全年营收超170亿元,腾讯健康码累计访问量达80亿次
  3. 互联网公司还要亏多久?
  4. 前端也能玩转机器学习?Google Brain 工程师来支招!
  5. Python 快速入门,你想要的就在这里了!
  6. 程序员的代码为什么永远写不完?
  7. 开源,不是一种道德绑架
  8. 网络编程函数小总结与初识socket
  9. 网络编程之 进程间的通信之管道的使用
  10. python使用级数pi的近似值_JavaScript与Python计算pi的近似值运行时间对比