智慧北京:XUtils的View的注入
 发布时间 
 阅读量: 
 阅读量 
1、导入XUtils的lib库
ViewUtils使用方法
- 通过详细标注的方式, 可以实现与UI的关联以及与事件的关联。
- 不需要使用印度尼西亚语界面管理器(RecyclerView)和设置点击事件(setClickListener)等方法。
 
 
 //<strong> xUtils的view注解要求必须提供id,以使代码混淆不受影响</strong>。
    
 <strong>@ViewInject(R.id.textView)
    
 TextView textView;</strong>
    
  
    
 //@ViewInject(vale=R.id.textView, parentId=R.id.parentView)
    
 //TextView textView;
    
  
    
 @ResInject(id = R.string.label, type = ResType.String)
    
 private String label;
    
  
    
 // 取消了之前使用方法名绑定事件的方式,使用id绑定不受混淆影响
    
 // 支持绑定多个id @OnClick({R.id.id1, R.id.id2, R.id.id3})
    
 // or @OnClick(value={R.id.id1, R.id.id2, R.id.id3}, parentId={R.id.pid1, R.id.pid2, R.id.pid3})
    
 // 更多事件支持参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
    
 @OnClick(R.id.test_button)
    
 public void testButtonClick(View v) { // 方法签名必须和接口中的要求一致
    
     ...
    
 }
    
 ...
    
 //在Activity中注入:
    
 @Override
    
 public void onCreate(Bundle savedInstanceState) {
    
     super.onCreate(savedInstanceState);
    
     setContentView(R.layout.main);
    
     ViewUtils.inject(this); //注入view和事件
    
     ...
    
     textView.setText("some text...");
    
     ...
    
 }
    
 //在Fragment中注入:
    
 @Override
    
 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    
     View view = inflater.inflate(R.layout.bitmap_fragment, container, false); // 加载fragment布局
    
     ViewUtils.inject(this, view); //注入view和事件
    
     ...
    
 }
    
 //在PreferenceFragment中注入:
    
 public void onActivityCreated(Bundle savedInstanceState) {
    
     super.onActivityCreated(savedInstanceState);
    
     ViewUtils.inject(this, getPreferenceScreen()); //注入view和事件
    
     ...
    
 }
    
 // 其他重载
    
 // inject(View view);
    
 // inject(Activity activity)
    
 // inject(PreferenceActivity preferenceActivity)
    
 // inject(Object handler, View view)
    
 // inject(Object handler, Activity activity)
    
 // inject(Object handler, PreferenceGroup preferenceGroup)
    
 // inject(Object handler, PreferenceActivity preferenceActivity)
        ——ContentFragment.java——
 package huaxa.it.zhihuidemo.fragment;
    
  
    
 import com.lidroid.xutils.ViewUtils;
    
 import com.lidroid.xutils.view.annotation.ViewInject;
    
  
    
 import huaxa.it.zhihuidemo.R;
    
 import android.annotation.SuppressLint;
    
 import android.support.v4.view.ViewPager;
    
 import android.view.Gravity;
    
 import android.view.View;
    
 import android.widget.TextView;
    
  
    
 /** * @项目名: ZhiHuiDemo
    
  * @包名: huaxa.it.zhihuidemo.fragment
    
  * @类名: ContentFragment
    
  * @创建者: 黄夏莲
    
  * @创建时间: 2016年10月5日 ,下午11:31:04
    
  * * @描述: 内容页面
    
  */
    
 public class ContentFragment extends BaseFragment
    
 {
    
 	// xUtils的view注解要求必须提供id,以使代码不受影响。
    
 	@ViewInject(R.id.content_pager)
    
 	private ViewPager mViewPager;
    
 	
    
 	@Override
    
 	protected View initView()
    
 	{
    
  
    
 //		TextView text = new TextView(mActivity);
    
 //
    
 //		text.setText("主页面");
    
 //		text.setTextSize(25);
    
 //		text.setGravity(Gravity.CENTER);
    
 //		return text;
    
 		View view = View.inflate(mActivity, R.layout.content, null);
    
 		
    
 		//注入ViewUtils工具
    
 		ViewUtils.inject(this, view);//注入view和事件
    
 		
    
 		return view;
    
 		
    
 	}
    
 }
        全部评论 (0)
 还没有任何评论哟~ 
