【1】关于重写的Class(这里通过Numberpciker作为事例)

public class RakurakuNumberPicker extends NumberPicker {//[1]继承想要重写的控件    //[2]必须完成其自身的构造函数(三个都写上最好)    public RakurakuNumberPicker(Context context) {        super(context);    }    public RakurakuNumberPicker(Context context, AttributeSet attrs) {        super(context, attrs);    }    public RakurakuNumberPicker(Context context, AttributeSet attrs,            int defStyleAttr) {        super(context, attrs, defStyleAttr);    }    //[3]贴上你自己添加的方法or重写的方法    @Override    public boolean dispatchKeyEvent(KeyEvent event) {        if (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_LEFT) {            SettingMessageNotificationTimeActivity.getInstance()                    .updateArrowGuidanceUI(true);        }        if (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_RIGHT) {            SettingMessageNotificationTimeActivity.getInstance()                    .updateArrowGuidanceUI(false);        }        return super.dispatchKeyEvent(event);    }}

【2】调用处的方法

- XML文件的引用(注意姿势)

        <com.android.mms.ui.RakurakuNumberPicker            android:id="@+id/notice_time_picker"            android:layout_width="wrap_content"            android:layout_height="wrap_content" />

- Class文件使用

//声明private RakurakuNumberPicker mNoticeTimePicker;//绑定mNoticeTimePicker = (RakurakuNumberPicker)findViewById(R.id.notice_time_picker);

【3】彩蛋(重写的View调用调用处的方法)

- 小插曲,因为需要用到static方法,所以凡是涉及到的方法or成员都需要变成static的

这显然不能接受

最终比较好的实现方案

- Activity开放一个获得其对象的静态方法

        protected static SettingMessageNotificationTimeActivity sMe;    public static SettingMessageNotificationTimeActivity getInstance() {        return sMe;    }

- 自定义的空间拿到Activity对象然后调用其方法

            SettingMessageNotificationTimeActivity.getInstance().FunctionTest();

更多相关文章

  1. Android(安卓)硬件加速
  2. Android(安卓)检测SD卡是否可用
  3. Android压缩文件成.zip及解压缩.zip文件方法
  4. Android中的四大组件回顾
  5. Android解析自定义xml文件--Dom解析xml文件,测试demo(方案四)
  6. Android(安卓)Tips1
  7. android拖拽功能的实现原理
  8. Android之Canvas
  9. android 获取应用程序(包)的信息和缓存大小 PackageManager的使

随机推荐

  1. Android核心模块及相关技术
  2. Android本地数据存储之Sharedpreference
  3. Android(安卓)Activity启动模式分析
  4. android中加载大图片到内存
  5. android keytool 不是内部命令或外部命令
  6. android_防止被反编译 混淆
  7. Android中activity的启动模式详解
  8. 解决 Android(安卓)模拟器 无法上网问题
  9. Android(安卓)设定横屏,禁止屏幕旋转,Activ
  10. Android根据文件路径使用File类获取文件