【Android源码 栏目提醒】:网学会员Android源码 为您提供Android 小项目之--CheckBox计算器 (附源码) - 企业软件开发参考,解决您在Android 小项目之--CheckBox计算器 (附源码) - 企业软件开发学习中工作中的难题,参考学习。
讲解代码思路首先从两个文本框开始先上代码 01 listnew OnKeyListener 02 03 Override 04 public boolean onKeyView v int keyCode KeyEvent event 05 // TODO Auto-generated method stub 06 ifmBox1.isChecked 07 08 mBox1.setCheckedfalse 09 10 ifmBox2.isChecked 11 12 mBox2.setCheckedfalse 13 14 ifmBox3.isChecked 15 16 mBox3.setCheckedfalse 17 18 ifmBox4.isChecked 19 20 mBox4.setCheckedfalse 21 22 23 return false 24 25 mEditText.setOnKeyListenerlist 26 mEditText1.setOnKeyListenerlist 上述代码用意在于当用户之前选过计算方法想从新输入时将会激发文本的onkey事件在事件激发后我们要做的就是如果某一checkbox选中我们将让他失去选中的效果以便当用户输入完成后可以重新点击计算结果。
功能代码二 view sourceprint001 listnernew OnCheckedChangeListener 002 003 Override 004 005 public 006 void onCheckedChangedCompoundButton buttonView boolean isChecked 007 008 // TODO Auto-generated method stub 009 010 switch buttonView.getId 011 012 case R.id.Plus: 013 014 ifisEmptymEditTextmEditText1 015 016 Confirm 017 mBox1.setCheckedfalse 018 019 return 020 021 022 break 023 024 case R.id.Cut: 025 026 ifisEmptymEditTextmEditText1 027 028 Confirm 029 mBox2.setCheckedfalse 030 031 return 032 033 034 break 035 036 case R.id.Ride: 037 038 ifisEmptymEditTextmEditText1 039 040 Confirm 041 mBox3.setCheckedfalse 042 043 return 044 045 046 break 047 048 case R.id.Except: 049 050 ifisEmptymEditTextmEditText1 051 052 Confirm 053 mBox4.setCheckedfalse 054 055 return 056 057 058 break 059 060 default: 061 062 break 063 064 065 066 ifmBox1.isChecked 067 068 mTextView.setText GetOperation 069 070 071 else 072 073 mTextView.setText 074 075 076 ifmBox2.isChecked 077 078 mTextView2.setTextGetOperation- 079 080 081 else 082 083 mTextView2.setText 084 085 086 ifmBox3.isChecked 087 088 mTextView3.setTextGetOperation 089 090 091 else 092 093 mTextView3.setText 094 095 096 ifmBox4.isChecked 097 098 mTextView4.setTextGetOperation/ 099 100 101 else 102 103 mTextView4.setText 104 105 106 107 mBox1.setOnCheckedChangeListenerlistner 108 mBox2.setOnCheckedChangeListenerlistner 109 mBox3.setOnCheckedChangeListenerlistner 110 mBox4.setOnCheckedChangeListenerlistner 如果用户选中将根据选中的某一个checkbox返回计算结果如果uncheck将清空文本.做这一步之前必须限制两个文本框必须输入否则程序会崩溃。
全部代码如下 view sourceprint001 package cn.terry 002 003 004 import
android.app.Activity 005 006 import
android.app.AlertDialog 007 008 import
android.content.DialogInterface 009 010 import
android.os.Bundle 011 012 import
android.view.KeyEvent 013 014 import
android.view.View 015 016 import
android.view.View.OnKeyListener 017 018 import
android.widget. 019 020 import
android.widget.CompoundButton.OnCheckedChangeListener 021 022 public 023 class CheckBoxCalc extends Activity 024 private TextView mTextView 025 026 private TextView mTextView2 027 028 private TextView mTextView3 029 private TextView mTextView4 030 031 private CheckBox mBox1 032 033 private CheckBox mBox2 034 035 private CheckBox mBox3 036 037 private CheckBox mBox4 038 039 private EditText mEditText 040 041 private EditText mEditText1 042 043 private 044 boolean isbooltrue 045 046 private OnCheckedChangeListener listner 047 048 private Float Temp 049 050 private String Experssion 051 052 private OnKeyListener list 053 054 / Called when the activity is first created. / 055 Override 056 057 public 058 void onCreateBundle savedInstanceState 059 060 super.onCreatesavedInstanceState 061 setContentViewR.layout.main 062 mTextViewTextViewfindViewByIdR.id.result1 063 mTextView2TextViewfindViewByIdR.id.result2 064 mTextView3TextViewfindViewByIdR.id.result3 065 mTextView4TextViewfindViewByIdR.id.result4 066 mBox1CheckBoxfindViewByIdR.id.Plus //加减乘除 067 068 mBox2CheckBoxfindViewByIdR.id.Cut 069 mBox3CheckBoxfindViewByIdR.id.Ride 070 mBox4CheckBoxfindViewByIdR.id.Except 071 mEditTextEditTextfindViewByIdR.id.first 072 mEditText1EditTextfindViewByIdR.id.second 073 listnew OnKeyListener 074 075 Override 076 077 public 078 boolean onKeyView v int keyCode KeyEvent event 079 080 // TODO Auto-generated method stub 081 082 083 ifmBox1.isChecked 084 085 mBox1.setCheckedfalse 086 087 088 ifmBox2.isChecked 089 090 mBox2.setCheckedfalse 091 092 093 ifmBox3.isChecked 094 095 mBox3.setCheckedfalse 096 097 098 ifmBox4.isChecked 099 100 mBox4.setCheckedfalse 101 102 103 104 return 105 false 106 107 108 mEditText.setOnKeyListenerlist 109 mEditText1.setOnKeyListenerlist 110 111 112 113 listnernew OnCheckedChangeListener 114 115 Override 116 117 public 118 void onCheckedChangedCompoundButton buttonView boolean isChecked 119 120 // TODO Auto-generated method stub 121 122 123 switch buttonView.getId 124 125 case R.id.Plus: 126 127 ifisEmptymEditTextmEditText1 128 129 Confirm 130 mBox1.setCheckedfalse 131 132 return 133 134 135 break 136 137 case R.id.Cut: 138 139 ifisEmptymEditTextmEditText1 140 141 Confirm 142 mBox2.setCheckedfalse 143 144 return 145 146 147 break 148 149 case R.id.Ride: 150 151 ifisEmptymEditTextmEditText1 152 153 Confirm 154 mBox3.setCheckedfalse 155 156 return 157 158 159 break 160 161 case R.id.Except: 162 163 ifisEmptymEditTextmEditText1 164 165 Confirm 166 mBox4.setCheckedfalse 167 168 return 169 170 171 break 172 173 default: 174 175 break 176 177 178 179 ifmBox1.isChecked 180 181 mTextView.setText GetOperation 182 183 184 else 185 186 mTextView.setText 187 188 189 ifmBox2.isChecked 190 191 mTextView2.setTextGetOperation- 192 193 194 else 195 196 mTextView2.setText 197 198 199 ifmBox3.isChecked 200 201 mTextView3.setTextGetOperation 202 203 204 else 205 206 mTextView3.setText 207 208 209 ifmBox4.isChecked 210 211 mTextView4.setTextGetOperation/ 212 213 214 else 215 216 mTextView4.setText 217 218 219 220 mBox1.setOnCheckedChangeListenerlistner 221 mBox2.setOnCheckedChangeListenerlistner 222 mBox3.setOnCheckedChangeListenerlistner 223 mBox4.setOnCheckedChangeListenerlistner 224 225 226 227 public String GetOperationString Operation 228 229 230 ifOperation 231 232 TempFloat.parseFloatmEditText.getText.toString 233 Float.parseFloatmEditText1.getText.toString 234 235 236 ifOperation- 237 238 TempFloat.parseFloatmEditText.getText.toString- 239 Float.parseFloatmEditText1.getText.toString 240 241 242 243 ifOperation 244 245 TempFloat.parseFloatmEditText.getText.toString 246 Float.parseFloatmEditText1.getText.toString 247 248 249 ifOperation/ 250 251 TempFloat.parseFloatmEditText.getText.toString/ 252 Float.parseFloatmEditText1.getText.toString 253 254 ExperssionmEditText.getText.toStringOperationmEditText1.getText.toString 255 256 Temp.toString 257 return Experssion 258 259 260 261 262 public 263 void Confirm 264 265 266 new AlertDialog.BuilderCheckBoxCalc.this 267 .setTitle提示 268 .setMessage该项不能为空 269 .setPositiveButton确定 new DialogInterface.OnClickListener 270 271 Override 272 273 public 274 void onClickDialogInterface dialog int which 275 276 // TODO Auto-generated method stub 277 278 279 280 .create.show 281 282 public 283 boolean isEmptyEditText eEditText a 284 285 ife.getText.toString.length0 286 a.getText.toString.length0 287 288 isbool 289 true 290 291 292 else 293 294 isboolfalse 295 296 297 return isbool 298 299