android 如何正确使用 泛型 和 多参数 “偷懒”

我要实现这样一个标题栏

共 4 个选项,采用布局是一个 TextView 对应一个小三角 ImageView,各个选项没被点击时,字体颜色是 黑色,小三角不显示,点击后,字体变色,小三角居下显示,同时在下面的 layout 显示对应的布局内容。

要实现这样的逻辑,并不难,但是,如果常规地去写的话,代码段很长,很繁琐!后来我这样做了。

先写个获取 list<> 的泛型函数,用来获取 要显示的布局集合

再写个获取 TextView 和 ImageView 对应绑定的 Map 泛型函数

最后是整合,集体改变

这样调用

那么我们就配置好了一个选项,上面共四个选项,对应四个点击事件,就是写四次,你只需要改变,传入的整数,其他不用便,0,1,2,3.....

就这么多啦。程序完美运行,

时间: 2024-10-27 04:33:22

android 如何正确使用 泛型 和 多参数 “偷懒”的相关文章

android中正确保存view的状态

英文原文: http://trickyandroid.com/saving-android-view-state-correctly/ 转载此译文须注明出处. 今天我们聊一聊安卓中保存和恢复view状态的问题.我刻意强调View状态是因为我发现这个过程要比保存 Activity 和 Fragment状态稍微复杂,还有一个原因是因为网上有太多“重复造的轮子”(有时还是奇丑无比的轮子). 为什么我们需要保存View的状态? 这个问题问的好!我坚信移动应用应该帮助你解决问题,而不是制造问题. 想象一下

Effective Java 第三版——32.合理地结合泛型和可变参数

Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化. 在这里第一时间翻译成中文版.供大家学习分享之用. 32. 合理地结合泛型和可变参数 在Java 5中,可变参数方法(条目 53)和泛型都被添加到平台中,所以你可能希望它们能够正常交互; 可悲的是,他们并没有. 可变参数的目

Android 批量设置监听器,监听器传递参数,重写监听器构造函数

这个问题困扰了我好几天,就在我做的课程表应用中,每个页面有15个TextView,每个都要设置监听器,但是这还不是难事,难的是,用匿名内部类实现监听借口的时候,还要再在里面设置监听器!简而言之,TextView长按变为EditText,EditText点击完成之后把值传回TextView,这一个地方需要两个监听器. 我最早的实现方法是(mon_tv[ ]是一个TextView数组,mon_et[ ]是一个EditText数组): mon_tv[1].setOnLongClickListener(

Android开发 AIDL使用自定义对象作参数或返回值

http://www.pocketdigi.com/20121129/952.html 默认,AIDL支持对象作参数,但需要该对象实现Parcelable接口,且aidl文件应该是该类在同一包下,需要单独给该类定义一个aidl文件.定义模型类:EnglishItem.java: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

Android SQLite 通配符查询找不到参数问题

使用Android SQLite中SQLiteDatabase类的query方法查询时,如果where中包含通配符,则参数会无法设置,如类似下面的方法查询时 1 SQLiteDatabase db = dbHelper.getReadableDatabase(); 2 cursor = db.query(null, "name like '%?'", new String[] { name }, null, null, null, null); 将会抛出下面的异常 android.da

Android 通过GET和POST方式提交参数给web应用

如何把数据上传到web应用 应用界面: 视频名称:title 时长:timelength 保存,点击保存按钮提交到web应用中,web应用中开发Manageservlet来接收数据. get方式 服务端: public class ManageServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request,H

Android之使用SharedPreferences保存用户偏好参数

在Android应用中,我们常需要记录用户设置的一些偏好参数,,此时我们就需要用SharedPreferences和Editor将这些信息保存下来,在下次登录时读取. SharedPreferences保存的数据主要类似于配置信息格式的数据,因此它保存数据的形式为key-value对,下面我们来看下实例代码. 首先是界面布局,比较简单,就是一个普通的登陆界面. 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/r

关于Android Canvas.drawText方法中的坐标参数的正确解释

canvas.drawText("www.jcodecraeer.com", x, y, paint);  x和y参数是指定字符串中心的坐标吗?还是左上角的坐标?这个问题的直观印象应该是左上角的坐标,但是安卓的处理有点另类,我都怀疑安卓的设计者是不是脑壳有问题了.x默认是‘www.jcodecraeer.com’这个字符串的左边在屏幕的位置,如果设置了paint.setTextAlign(Paint.Align.CENTER);那就是字符的中心,y是指定这个字符baseline在屏幕上

Android Canvas.drawText方法中的坐标参数的正确解释

摘要 canvas.drawText(www.jcodecraeer.com, x, y, paint); x和y参数是指定字符串中心的坐标吗?还是左上角的坐标?这个问题的直观印象应该是左上角的坐标,但是安卓的处理有点另类,我都怀疑安卓的设计者是不是脑壳有问题了. x默认是‘www.jcodecraeer.com’这 canvas.drawText("www.jcodecraeer.com", x, y, paint);  x和y参数是指定字符串中心的坐标吗?还是左上角的坐标?这个问题