checkBox是否選中,決定SettingItemView是否開啟。
首先創建一個方法用於判斷checkbox是否開啟
Java代碼
- /**
- * 判斷是否開啟的方法
- *
- * @return 返回當前SettingItemView是否選中狀態 true開啟(checkBox返回true)
- * false關閉(checkBox返回true)
- */
- public boolean isCheck() {
- return cb_box.isChecked();
- }
根據開啟的變量來控制控件顯示文字
Java代碼
- /**
- * @param isCheck 是否作為開啟的變量,由點擊過程中去做傳遞
- */
- ublic void setCheck(boolean isCheck) {
- //當前條目在選擇的過程中,cb_box選中狀態也在跟隨(isCheck)變化
- cb_box.setChecked(isCheck());
- if(isCheck) {
- tv_des.setText("自動更新已開啟");
- } else {
- tv_des.setText("自動更新已關閉");
- }
接著添加條目點擊事件:
Java代碼
- 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狀態也相應發生改變。