关闭

封装findviewbyid

标签: 优化
985人阅读 评论(1) 收藏 举报

今天和老师一起聊了会如何更好的优化代码,使自己成为一个优秀的工程师及如何的阅读别人的源码。说到这儿我挺佩服我老师的,不愧是一本的大学生,研究的方式就是不一样,当时让我受益匪浅。回到寝室后,我自己封装了下findviewbyid。下面是我的代码:

public class EndView {
	private static Activity activity;
	// 运用了单例模式中的饿汉式
	private static final EndView endView = new EndView();

	public static EndView getEndView(Activity activitys) {
		setActivity(activitys);
		return endView;
	}
	private <T extends View> T getView(int id) {
		View mview = activity.findViewById(id);
		// activity.getWindow();

		return (T) mview;
	}

	// textview
	public EndView settext(int id, String txt) {
		TextView textView = getView(id);
		textView.setText(txt);
		return this;
	}

	// 图片
	public EndView setImg(int id, int img) {
		ImageView imgs = getView(id);
		imgs.setImageResource(img);
		return this;
	}

	// 获取activity
	private static void setActivity(Activity activity) {
		EndView.activity = activity;
	}
public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		EndView.getEndView(this).settext(R.id.txtdssd, "hehe")
				.setImg(R.id.imgs, R.drawable.ic_launcher)
				.setImg(R.id.imgs2, R.drawable.photo)
				.setOnclick(R.id.imgs, new MyClick());
	}
	


写于2016年6月1日,本人此时就读于大二。

0
0
查看评论

Activity,Fragment的基类封装,简化findViewById,Fragment懒加载和不重复加载等

有想到的再继续更新,也希望你们可以分享给我. 下面的复制即可使用 Activitypublic class BaseActivity extends AppCompatActivity { /** * activity 之间的跳转 * @param context 上...
  • qq_27853161
  • qq_27853161
  • 2017-03-01 10:38
  • 556

[android]深入理解findViewById原理

用的太多了,但是不知道原理。Xutils里面舍弃了findViewById改用注解,当时也很不理解。一步步了解后,发现,相比注解的方式加载控件,findViewById的效率是很低的。 点进去看源码进入Activity.class类里的方法: 发现这个返回的是getWindow()的find...
  • bless2015
  • bless2015
  • 2015-06-24 10:10
  • 7422

Android Study 之 findViewById 变迁之路

LZ-Says: 想当年,周五了,我们会说: 现在,一到周六,想想还要继续上班,瞬间千万个不爽席卷而来,XXOO此处省略n字。。。 休息一天的好处在于,让你感觉一天休息时间格外珍贵,而坏处在于,劳资TMD还没休息过来,结果第二天又开始上班了,而且一连6天~...
  • u012400885
  • u012400885
  • 2017-06-26 01:28
  • 487

android通过反射代替findViewById的过多使用

开发android应用时,在activity中总是要写很多findViewById来获取XML布局中的各种组件,而它们都是相似的,只是组件类型和id不同而已,根据DRY原则,我们可以把一些相同的代码进行封装,这样就节省了很多代码量,在一个复杂的activity中不会显得臃肿。  ...
  • maojycom
  • maojycom
  • 2014-10-03 16:18
  • 1435

Android 注解的简单使用之省去findViewById()

Android开发中不可避免的是findViewById()这样的繁琐事情,往往我们在写这些findViewById()的的时候有没有种想吐的感觉?这项工作纯属是个没营养的体力活,so Android衍生出了很多开源框架通过注解的方式来绑定控件,省去这项繁琐的体力活。这里也不介绍这些框架,而是忙碌的...
  • richardli1228
  • richardli1228
  • 2016-04-18 17:45
  • 2051

自定义注解,告别findViewById,你只需要这样做

传统的项目中,为了从XML文件找到各个控件,findViewById,是不得不去写的代码,以致于太多的控件,太多的findViewId,使我们的代码变得繁琐,获取,强转,千篇一律的重复着某种机制,其实内心也是蛮崩溃的。 当然了,为了解决不必要的findViewById,互联网的世界...
  • ming_147
  • ming_147
  • 2017-03-14 15:13
  • 1081

Android通过泛型简化findViewById类型转换

以前老用findViewById,每次使用还得add cast一下今天看到一个视频(根据视频中使用的IDE推断,应该是几年前的视频了..),使用了一个方法,可以不用每次使用findViewById都去add cast. 我根据视频中的写法进行优化,具体做法: 创建一个BaseActivity,让...
  • lc0817
  • lc0817
  • 2015-08-15 14:53
  • 1924

Android解决使用findViewById时需要对返回值进行类型转换问题的辅助类

在我们的开发工作时,findViewById可能是用得最多的函数之一,但它特别讨厌的地方就是我们经常需要对返回的view进行类型转换,输入麻烦、代码抽离。
  • bboyfeiyu
  • bboyfeiyu
  • 2014-08-30 22:08
  • 5838

有关findviewbyid 一个错误用法

首先这个函数的功能是根据参数id 来返回一个对应的view 。 网上是这样说的:  Android中FindViewById()是一个非常常用的函数,位于android.app.Activity包中。该函数利用我们在XML文件中定义的View的id属性来获取相应的Vi...
  • qq_21063873
  • qq_21063873
  • 2015-08-29 18:26
  • 808

关于 findViewById()方法和资源 ID 的重复问题

最近科研压力大,老板希望我把主要精力放在目前的科研课题上,对我找互联网方面工作的想法根本不屑一顾。按照他的说法,科研做得好,毕业他给推荐公司,薪资不知道比自己找工作高到哪里去了。。。虽然确实是这么回事,可是他推荐的都是电动汽车类公司,按照我现在的方向,去了肯定是做电池包热管理,虽然前途可能比较光明,...
  • z3896823
  • z3896823
  • 2017-07-28 21:31
  • 450
    个人资料
    • 访问:22693次
    • 积分:672
    • 等级:
    • 排名:千里之外
    • 原创:43篇
    • 转载:10篇
    • 译文:0篇
    • 评论:3条
    最新评论