首页 / 更多教程 / ViewUtils模块的使用
ViewUtils模块的使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ViewUtils模块的使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2530字,纯文字阅读大概需要4分钟。
内容图文
![ViewUtils模块的使用](/upload/InfoBanner/zyjiaocheng/1047/a0809dc23b724bbc81c90dfcb555264c.jpg)
参考一:http://fanli7.net/a/bianchengyuyan/C__/20131102/439000.html
参考二:http://www.eoeandroid.com/blog-692530-48289.html
今天在看某android源码时,才头一次发现可以这样使用,SO,参考了两篇解释详细的文章做个记录。
-
ViewUtils模块:
- android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
- 新的事件绑定方式,使用混淆工具混淆后仍可正常工作;
- 目前支持常用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
ViewUtils android中得ioc(控制反轉)框架,可以完全使用注解的方式來完成UI的绑定和事件绑定。簡單的說,ViewUtils的功能就是做這個的,但是可以說,就這麼個功能確是能極大的簡化我們的代碼。
下面我們看下具體的代碼,順便對比下注解的方式绑定ID和findViewById之間的差別。
![bubuko.com,布布扣](/upload/getfiles/default/2022/11/14/20221114080315226.jpg)
![bubuko.com,布布扣](/upload/getfiles/default/2022/11/14/20221114080315305.jpg)
1 @ViewInject(R.id.btn) 2 private Button btn; 3 4 @ViewInject(R.id.img) 5 private ImageView img; 6 7 @ViewInject(R.id.list) 8 private ListView list; 9 10 @Override 11 protected void onCreate(Bundle savedInstanceState) { 12 super .onCreate(savedInstanceState); 13 setContentView(R.layout.activity_second); 14 ViewUtils.inject(this); 15 }
![bubuko.com,布布扣](/upload/getfiles/default/2022/11/14/20221114080315226.jpg)
![bubuko.com,布布扣](/upload/getfiles/default/2022/11/14/20221114080315305.jpg)
1 @Override 2 protected void onCreate(Bundle savedInstanceState) { 3 super .onCreate(savedInstanceState); 4 setContentView(R.layout.activity_second); 5 6 btn = (Button) findViewById(R.id.btn); 7 img = (ImageView) findViewById(R.id.img); 8 list = (ListView) findViewById(R.id.list); 910 }
如果項目中得Activity中的控件相當多,那麼想象一下代碼中累積的那一大坨就真心受不了。通過xUtils的簡單注解,就能輕松擺脫無盡壞味道的代碼。
注意:在使用注解绑定控件的時候,一定記得在onCreate中調用ViewUtils.inject(this);
下面我們再對比下Android中事件绑定的區別。
![bubuko.com,布布扣](/upload/getfiles/default/2022/11/14/20221114080315226.jpg)
![bubuko.com,布布扣](/upload/getfiles/default/2022/11/14/20221114080315305.jpg)
1 @OnClick({ R.id.btn, R.id.img }) 2 public void clickMethod(View v) { 3 Toast.makeText(SecondActivity.this, "you clicked button!", 4 Toast.LENGTH_SHORT).show(); 5 } 6 7 @OnItemClick(R.id.list) 8publicvoid itemClick(AdapterView<?> parent, View view, int position,long id) { 9 Toast.makeText(SecondActivity.this, "position--->" + position, 10 Toast.LENGTH_SHORT).show(); 11 }
![bubuko.com,布布扣](/upload/getfiles/default/2022/11/14/20221114080315226.jpg)
![bubuko.com,布布扣](/upload/getfiles/default/2022/11/14/20221114080315305.jpg)
1 btn.setOnClickListener(this); 2 list.setOnItemClickListener(new OnItemClickListener() { 3 @Override 4publicvoid onItemClick(AdapterView<?> parent, View view, 5int position, long id) { 6 Toast.makeText(SecondActivity.this, "position--->" + position, 7 Toast.LENGTH_SHORT).show(); 8 } 9 }); 10 @Override 11publicvoid onClick(View v) { 12switch (v.getId()) { 13case R.id.btn: 14 Toast.makeText(SecondActivity.this, "you clicked button!", 15 Toast.LENGTH_SHORT).show(); 16break; 17default: 18break; 19 } 20 }
原本绑定Button的監聽事件要麼用醜陋的內部類,要麼Activity實現OnClickListener,在复寫的onClick方法中去根據id。而xUtils只要通過簡單的一句注解就能實現監聽事件的功能,而且可以實現多個控件共用一個監聽方法。同時xUtils提供onClick、onItemClick、onLongClick等15種事件監聽注解。
注意:在使用注解監聽事件的時候,監聽方法名是自定義的,但是一定要保證方法的訪問修飾符为public,同時方法的参數要與Android原來的監聽方法参數一致,不僅参數類型,而且要保證参數的順序。
原文:http://www.cnblogs.com/Miami/p/4140901.html
内容总结
以上是互联网集市为您收集整理的ViewUtils模块的使用全部内容,希望文章能够帮你解决ViewUtils模块的使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。