Android 手机卫士--选中SettingItemView条目状态切换

本文实现上篇文章中自定义组合控件中相关方法。

checkBox是否选中,决定SettingItemView是否开启。

首先创建一个方法用于判断checkbox是否开启

    /**
     * 判断是否开启的方法
     *
     * @return 返回当前SettingItemView是否选中状态 true开启(checkBox返回true)
     *         false关闭(checkBox返回true)
     */
    public boolean isCheck() {
        return cb_box.isChecked();
    }

根据开启的变量来控制控件显示文字

/**
     * @param isCheck    是否作为开启的变量,由点击过程中去做传递
     */
    public void setCheck(boolean isCheck) {
        //当前条目在选择的过程中,cb_box选中状态也在跟随(isCheck)变化
        cb_box.setChecked(isCheck());
        if(isCheck) {
            tv_des.setText("自动更新已开启");
        } else {
            tv_des.setText("自动更新已关闭");
        }
    }

接着添加条目点击事件:

package com.wuyudong.mobilesafe.activity;

import com.wuyudong.mobilesafe.R;
import com.wuyudong.mobilesafe.view.SettingItemView;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;

public class SettingActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_setting);
        initUpdate();
    }

    private void initUpdate() {
        final SettingItemView siv_update = (SettingItemView)findViewById(R.id.siv_update);
        siv_update.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                //如果之前是选中的,点击过后,变成未选中
                //如果之前是未选中的,点击过后,变成选中

                //获取之前的选中状态
                boolean check = siv_update.isCheck();
                //将原有状态取反,等同上诉的两部操作
                siv_update.setCheck(!check);
            }
        });

    }

}

这样当条目点击的时候,自定义控件中包含的相应的checkbox状态也相应发生改变

时间: 09-25

Android 手机卫士--选中SettingItemView条目状态切换的相关文章

Android 手机卫士--弹出对话框

在<Android 手机卫士--解析json与消息机制发送不同类型消息>一文中,消息机制发送不同类型的信息还没有完全实现,在出现异常的时候,应该弹出吐司提示异常,代码如下: private Handler mHandler = new Handler() { // public void handleMessage(android.os.Message msg) { switch (msg.what) { case UPDATE_VERSION: //弹出对话框,提示用户更新 //showUp

Android 手机卫士--导航界面2

本文地址:http://www.cnblogs.com/wuyudong/p/5947504.html,转载请注明出处. 在之前的文章中,实现了导航界面1布局编写与相关的逻辑代码,如下图所示: 点击“下一页” public class Setup1Activity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

[android] 手机卫士欢迎细节和主界面

splash界面的细节 ctrl + O 搜索 在去标题的时候,对话框主题被去掉了,有点丑,现在既要有新版本的对话框又不显示标题 把清单文件中activity节点的主题去掉 进入到application节点的样式设置文件里面,添加一句 <item name="android:windowNoTitle">true</item> 设置点返回和空白地方对话框不消失 调用AlertDialog.Builer对象的setCancelable(false),强制升级的时候

Android 手机卫士12--进程管理

1.本进程不能被选中,所以先将checkbox隐藏掉--手机卫士 不能自杀 if(getItem(position).packageName.equals(getPackageName())){ holder.cb_box.setVisibility(View.GONE); }else{ holder.cb_box.setVisibility(View.VISIBLE); } 2.清理选中进程 private void clearAll() { //1,获取选中进程 //2,创建一个记录需要杀死

Android 手机卫士--安装过程中点击回退按钮

本文地址:http://www.cnblogs.com/wuyudong/p/5903707.html,转载请注明源地址. 在手机卫士之前的版本升级的对话框中: 有的用户暂时不想更新,没有点击“稍后再说”,而是选择点击回退按键,那么这时候的逻辑应该是让用户进入home界面而不是splash界面.所以需要添加代码逻辑来控制,添加的代码如下: builder.setOnCancelListener(new OnCancelListener() { @Override public void onCa

Android 手机卫士--阶段小结1

本文地址:http://www.cnblogs.com/wuyudong/p/5904528.html,转载请注明源地址. 本文对之前手机卫士开发进行一个小结. 1.SplashActivity 版本名称的展示,从清单配置文件中获取版本名称,PackageManager 服务端新版本的检测(本地版本号<服务器版本号) 展示logo 2.手机防盗 sim卡绑定:每一款手机都会有相应的卡的序列号,一旦替换掉原有电话卡,序列号会发生改变 3.手机卫士分包 基础课程分包方式,每一个类包名, com.it

[android] 手机卫士自定义滚动控件

TextView控件设置单行显示 android:singleLine=”true” 设置TextView开始的位置显示省略号,android:ellipsize=”start” 设置滚动属性,android:ellipsize=”marquee” 当控件有焦点的时候,才会调用那个滚动效果 新建一个ui包 新建一个类FocusedTextView继承系统的TextView 重写构造方法 重写isFoused()方法,返回true,就可以让它生来就有焦点,其实并没有焦点,只是欺骗了android系

[android] 手机卫士界面切换动画

在/res/anim/ 建立文件tran_out.xml 添加<translate>节点 设置x轴来源坐标android:fromXDelta=”0” 设置x轴目的坐标android:toXDelte=”-100%p” 整个父窗体 设置y轴来源坐标android:fromYDelta=”0” 设置y轴目的坐标android:toYDelta=”0” 设置执行时间 android:duration=”500” 500毫秒 在/res/anim/ 建立文件tran_in.xml 添加<tra

[android] 手机卫士手势滑动切换屏幕

定义手势识别器 获取手势识别器GestureDetector对象,通过new GestureDetector(context,listener),参数:上下文,监听器 匿名内部类实现简单手势监听器SimpleOnGestureListener接口,重写onFling()滑动方法 传递进来四个参数: MotionEvent e1 ,MotionEvent e2,velocityX,velocityY e1是第一个点,e2是第二个点,x轴的速度,y轴的速度 当第一个点减去第二个点大于200时,我们认