标签:
为界面写一个类,此类不同于activity或者fragment,只要activity或者fragment提供上下文参数和根视图参数给它就可以实现各种空间的实例化,事件的设置监听
1、构造函数传入参数
public class MyView{ private Context mContext; private View myRingView; public MyView(Context ctx, View view) { this.mContext = ctx; this.myView = view; initViews(); initEvents(); initDatas(); } }
2、实例化控件
public void initViews() { ivHeadIcon = (ImageView) myView.findViewById(R.id.head_icon); ... }
3、设置监听的3种常用方式
a.声明一个私有的监听对象
public void initEvents() { ivHeadIcon.setOnClickListener(onClickListener); ... }
private OnClickListener onClickListener = new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if (v == ivHeadIcon) { } else if (v == tvUserNick) { } ... } }
b.在设置监听这一步直接new 一个匿名内部类,此方法比较灵活一些,适合给少数控件添加监听
c.给整个view实现监听事件,implements OnClickListener,然后再重新OnClick方法
OnClick方法里面,可以通过判断控件的id,或者判断对象来执行具体的响应动作
3、初始化数据
就是给控件设置初始的状态,初始的内容
标签:
原文地址:http://my.oschina.net/carbenson/blog/506402