封装findviewbyid

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

封装findviewbyid_第1张图片

 

 

你可能感兴趣的:(封装findviewbyid)