当前位置: 编程技术>移动开发
本页文章导读:
▪定义各种事物的部类 定义各种事物的类型
今天看android 的源代码是发现了一个关于定义事物的类型的做法,我觉得挺好的,以前写代码的时候就没有想到这样的好方法:例子:public static final int INCLUDE_IMAGES = (1.........
▪ Adapter增多选中状态 Adapter增加选中状态
import java.util.List;
import java.util.Map;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widg.........
▪ 目力检查(EyeGuard) 视力检查(EyeGuard)
使用手册(User Manual)本软件在手机系统桌面上生成如下图所示图标: (This software system in mobile desktop ICONS generated as shown below:)运行该程序后,出现如下主界面: (Run this p.........
[1]定义各种事物的部类
来源: 互联网 发布时间: 2014-02-18
定义各种事物的类型
今天看android 的源代码是发现了一个关于定义事物的类型的做法,我觉得挺好的,以前写代码的时候就没有想到这样的好方法:
例子:
public static final int INCLUDE_IMAGES = (1 << 0);
public static final int INCLUDE_DRM_IMAGES = (1 << 1);
public static final int INCLUDE_VIDEOS = (1 << 2);
--->用int 数据类型来标志各种不同的类型,并且通过1左移不同位数获得不同的int
在使用的时候
if ((inclusion & INCLUDE_IMAGES) != 0)
if ((inclusion & INCLUDE_VIDEOS) != 0)
--->通过与来确定是那一类型
我不知道这样写的代码是否效率更高,但我觉得android的源代码写出这样的代码应该是值得我借鉴的!
今天看android 的源代码是发现了一个关于定义事物的类型的做法,我觉得挺好的,以前写代码的时候就没有想到这样的好方法:
例子:
public static final int INCLUDE_IMAGES = (1 << 0);
public static final int INCLUDE_DRM_IMAGES = (1 << 1);
public static final int INCLUDE_VIDEOS = (1 << 2);
--->用int 数据类型来标志各种不同的类型,并且通过1左移不同位数获得不同的int
在使用的时候
if ((inclusion & INCLUDE_IMAGES) != 0)
if ((inclusion & INCLUDE_VIDEOS) != 0)
--->通过与来确定是那一类型
我不知道这样写的代码是否效率更高,但我觉得android的源代码写出这样的代码应该是值得我借鉴的!
[2] Adapter增多选中状态
来源: 互联网 发布时间: 2014-02-18
Adapter增加选中状态
import java.util.List; import java.util.Map; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; import com.tcad.util.WebTools; public class MyArrayAdapter extends BaseAdapter{ private static List<Map<String,String>> list; private LayoutInflater mInflater; private ViewHolder holder; //alertdialog 被选中初始化false private static boolean[] isFocused ; private static int whichClick = -1; public MyArrayAdapter(Context context,List<Map<String,String>> objects){ list = objects; mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); isFocused = new boolean[objects.size()]; for(int i=0;i<objects.size();i++){ isFocused[i] = false; } } public int getCount() { return list.size(); } public Object getItem(int position) { return list.get(position); } public long getItemId(int position) { return position; } public void changeBg(int position){ isFocused[whichClick==-1?0:whichClick] = false; whichClick = position; isFocused[position] = true; notifyDataSetChanged(); } public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = mInflater.inflate(R.layout.musiccategories, null); holder = new ViewHolder(); holder.s_Name = (TextView) convertView.findViewById(R.id.s_name); convertView.setTag(holder); } else { // Get the ViewHolder back to get fast access to the TextView // and the ImageView. holder = (ViewHolder) convertView.getTag(); } convertView.setBackgroundResource(isFocused[position]?android.R.drawable.alert_dark_frame:android.R.drawable.alert_light_frame); holder.s_Name.setText(list.get(position).get(WebTools.SON_GEMING)); return convertView; } static class ViewHolder { TextView s_Name; } }
掉 MyArrayAdapter 的changeBg(int)就可以改变该项的背景
[3] 目力检查(EyeGuard)
来源: 互联网 发布时间: 2014-02-18
视力检查(EyeGuard)
使用手册(User Manual)
注意:如果你遇到问题,请发送邮件至:junefsh.android@gmail.com
(Attention:If you have some troubles ,please contact to me : junefsh.android@gmail.com)
使用手册(User Manual)
- 本软件在手机系统桌面上生成如下图所示图标: (This software system in mobile desktop ICONS generated as shown below:)
- 运行该程序后,出现如下主界面: (Run this program, appear as follows the interface:)
- 界面截图: (screenshots of the game;)
开始(Start):
点击后进入该测试界面;
(Click this button,will appear the game interface;)
注意:如果你遇到问题,请发送邮件至:junefsh.android@gmail.com
(Attention:If you have some troubles ,please contact to me : junefsh.android@gmail.com)
最新技术文章: