使用可变参数批量设置view显示,隐藏,点击事件
2016-09-10 09:19
531 查看
在android中我们经常会遇到要一次给很多view同时设置点击事件,或者在一个case里要显示或者隐藏一批view。
以前,我们是这样的,
findViewById(R.id.text1).setVisibility(View.GONE);
findViewById(R.id.text2).setVisibility(View.GONE);
findViewById(R.id.text3).setVisibility(View.GONE);
现在我们可以这样
ViewUtils.setGone(this,R.id.text1,R.id.text2,R.id.text3);
由于在写代码时候比较爱懒,所以,就偷工减料一下。话不多说写出工具类,和我一样懒的可以试一下。
public class ViewUtils {
/**
* 设置view的显示,参数为可变参数,
* @param views
* 使用 setVisible(text1 ,text2 ,text3 ,text4 )
*/
public static void setVisible(View… views) {
if (views.length <=0)
return;
for (View v : views) {
v.setVisibility(View.VISIBLE);
}
}
}
欢迎大家批评指正。
以前,我们是这样的,
findViewById(R.id.text1).setVisibility(View.GONE);
findViewById(R.id.text2).setVisibility(View.GONE);
findViewById(R.id.text3).setVisibility(View.GONE);
现在我们可以这样
ViewUtils.setGone(this,R.id.text1,R.id.text2,R.id.text3);
由于在写代码时候比较爱懒,所以,就偷工减料一下。话不多说写出工具类,和我一样懒的可以试一下。
public class ViewUtils {
/**
* 设置view的显示,参数为可变参数,
* @param views
* 使用 setVisible(text1 ,text2 ,text3 ,text4 )
*/
public static void setVisible(View… views) {
if (views.length <=0)
return;
for (View v : views) {
v.setVisibility(View.VISIBLE);
}
}
/** * 重载方法,通过ID设置 * @param activity * @param ids * 使用 setVisible(this , R.id.text1, R.id.text2, R.id.text3) */ public static void setVisible(Activity activity ,int... ids) { if (ids.length<=0 || activity == null) return; for (int resouce : ids) { activity.findViewById(resouce).setVisibility(View.VISIBLE); } } /** * 同理 * @param view * @param ids * 使用 setVisible(view , R.id.text1, R.id.text2, R.id.text3) */ public static void setVisible(View view ,int... ids) { if (ids.length <= 0 || view == null) return; for (int resouce : ids) { view.findViewById(resouce).setVisibility(View.VISIBLE); } } /** * 设置点击事件,不要写匿名内部类 * @param activity 实现OnClickListener接口 * @param listener * @param id 通过资源ID设置 * 使用setOnClick(this, this, R.id.text1, R.id.text2, R.id.text3); */ public static void setOnClick(Activity activity, View.OnClickListener listener, int... id) { if (activity == null || listener == null || id.length <= 0) return; for (int resouc : id) { activity.findViewById(resouc).setOnClickListener(listener); } } /** * 传入view来获取控件 * @param view * @param listener * @param id */ public static void setOnClick(View view, View.OnClickListener listener, int... id) { if (view == null || listener == null || id.length <= 0) return; for (int resouc : id) { view.findViewById(resouc).setOnClickListener(listener); } } /** * 通过view来设置 * @param listener * @param views */ public static void setOnClick(View.OnClickListener listener, View... views) { if (listener == null || views.length <= 0) return; for (View view : views) { view.setOnClickListener(listener); } } /** * 设置view的隐藏,参数为可变参数, * @param views */ public static void setGone(View... views) { if (views.length <=0) return; for (View v : views) { v.setVisibility(View.GONE); } } /** * 重载方法,通过ID设置 * @param activity * @param ids */ public static void setGone(Activity activity ,int... ids) { if (ids.length<=0 || activity == null) return; for (int resouce : ids) { activity.findViewById(resouce).setVisibility(View.GONE); } } /** * 同理 * @param view * @param ids */ public static void setGone(View view ,int... ids) { if (ids.length <= 0 || view == null) return; for (int resouce : ids) { view.findViewById(resouce).setVisibility(View.GONE); } } /** * 设置可点 * @param views */ public static void setCanEnable(View... views){ for (View view: views) { view.setEnabled(true); } }
}
欢迎大家批评指正。
相关文章推荐
- AlertDialog中使用自定义View,其中的Button如何设置点击事件监听
- Android中关于view隐藏显示的参数设置
- Android中RecyclerView使用,RecyclerView-Item点击事件设置
- AlertDialog中使用自定义View,view中的Button如何设置点击事件监听
- Fragment:判断是否显示当前Fragment viewpager ;Fragment监听按键点击事件;显示隐藏事件
- RecyclerView的基本使用(优化图片加载、设置条目间距、设置Adapter、设置点击事件等)
- ListView集合中设置标记 setTag();方法带一个参数和两个参数的区别,以及设置标记时ViewHolder中的每一个属性控件都需要设置一次,否则在Item中每一个控件的点击事件中取出设置的标
- 设置TextView下划线并响应点击事件(SpannableString)
- 去掉button按钮左右两边的留白 设置按钮背景为透明 去掉鼠标点击时出现的虚线边框 层的显示与隐藏
- 为UIImageView添加点击事件,隐藏UINavigationBar和UITabViewControllerBar
- 使用textview显示html里面的图文混排效果,并且图片可点击索引到
- JQUERY显示隐藏的点击绑定事件
- QtCreator QTableView用法大全,隐藏列,添加关系表,设置列宽,设置显示列名(持续添加)
- jQuery 中的 Ajax 全局事件 当用户点击页面上某一按钮请求数据时,在页面上显示 loading... ,页面加载完成后隐藏
- SurfaceView显示Camera摄像(之二设置参数、变焦)
- UIButton超出父view的显示范围后,不响应点击事件
- jq效果 点击隐藏和显示(组织冒泡事件)
- js 事件点击 显示 隐藏
- 使用SMARTFORM字段参数设置解决SMARTFORM中数量、金额字段显示问题
- android为view设置点击事件的注意事项