編輯:關於Android編程
源代碼下載地址:http://download.csdn.net/detail/wu20093346/7718055
使用CheckBox的OnCheckedChangeListener做事件觸發,效果圖:

<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHByZSBjbGFzcz0="brush:java;"> list=new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(mBox1.isChecked()) { mBox1.setChecked(false); } if(mBox2.isChecked()) { mBox2.setChecked(false); } if(mBox3.isChecked()) { mBox3.setChecked(false); } if(mBox4.isChecked()) { mBox4.setChecked(false); } return false; } }; mEditText.setOnKeyListener(list); mEditText1.setOnKeyListener(list);如代碼所寫,每當用戶重新輸入數字後,就會激發文本框的onKey事件,讓所有的CheckBox變成不選中狀態。
listner=new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
switch (buttonView.getId()) {
case R.id.Plus:
if(!isEmpty(mEditText,mEditText1))
{
Confirm();
mBox1.setChecked(false);
return;
}
break;
case R.id.Cut:
if(!isEmpty(mEditText,mEditText1))
{
Confirm();
mBox2.setChecked(false);
return;
}
break;
case R.id.Ride:
if(!isEmpty(mEditText,mEditText1))
{
Confirm();
mBox3.setChecked(false);
return;
}
break;
case R.id.Except:
if(!isEmpty(mEditText,mEditText1))
{
Confirm();
mBox4.setChecked(false);
return;
}
break;
default:
break;
}
if(mBox1.isChecked())
{
mTextView.setText( GetOperation("+"));
}
else
{
mTextView.setText("");
}
if(mBox2.isChecked())
{
mTextView2.setText(GetOperation("-"));
}
else
{
mTextView2.setText("");
}
if(mBox3.isChecked())
{
mTextView3.setText(GetOperation("*"));
}
else
{
mTextView3.setText("");
}
if(mBox4.isChecked())
{
mTextView4.setText(GetOperation("/"));
}
else
{
mTextView4.setText("");
}
}
};
mBox1.setOnCheckedChangeListener(listner);
mBox2.setOnCheckedChangeListener(listner);
mBox3.setOnCheckedChangeListener(listner);
mBox4.setOnCheckedChangeListener(listner);根據選擇的checkbox返回計算結果,如果uncheck將清空文本,選擇checkbox之前必須要輸入兩個數字。 package cn.terry;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.*;
import android.widget.CompoundButton.OnCheckedChangeListener;
public class CheckBoxCalc extends Activity {
private TextView mTextView;
private TextView mTextView2;
private TextView mTextView3;
private TextView mTextView4;
private CheckBox mBox1;
private CheckBox mBox2;
private CheckBox mBox3;
private CheckBox mBox4;
private EditText mEditText;
private EditText mEditText1;
private boolean isbool=true;
private OnCheckedChangeListener listner;
private Float Temp;
private String Experssion;
private OnKeyListener list;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTextView=(TextView)findViewById(R.id.result1);
mTextView2=(TextView)findViewById(R.id.result2);
mTextView3=(TextView)findViewById(R.id.result3);
mTextView4=(TextView)findViewById(R.id.result4);
mBox1=(CheckBox)findViewById(R.id.Plus); //加減乘除
mBox2=(CheckBox)findViewById(R.id.Cut);
mBox3=(CheckBox)findViewById(R.id.Ride);
mBox4=(CheckBox)findViewById(R.id.Except);
mEditText=(EditText)findViewById(R.id.first);
mEditText1=(EditText)findViewById(R.id.second);
list=new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(mBox1.isChecked())
{
mBox1.setChecked(false);
}
if(mBox2.isChecked())
{
mBox2.setChecked(false);
}
if(mBox3.isChecked())
{
mBox3.setChecked(false);
}
if(mBox4.isChecked())
{
mBox4.setChecked(false);
}
return false;
}
};
mEditText.setOnKeyListener(list);
mEditText1.setOnKeyListener(list);
listner=new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
switch (buttonView.getId()) {
case R.id.Plus:
if(!isEmpty(mEditText,mEditText1))
{
Confirm();
mBox1.setChecked(false);
return;
}
break;
case R.id.Cut:
if(!isEmpty(mEditText,mEditText1))
{
Confirm();
mBox2.setChecked(false);
return;
}
break;
case R.id.Ride:
if(!isEmpty(mEditText,mEditText1))
{
Confirm();
mBox3.setChecked(false);
return;
}
break;
case R.id.Except:
if(!isEmpty(mEditText,mEditText1))
{
Confirm();
mBox4.setChecked(false);
return;
}
break;
default:
break;
}
if(mBox1.isChecked())
{
mTextView.setText( GetOperation("+"));
}
else
{
mTextView.setText("");
}
if(mBox2.isChecked())
{
mTextView2.setText(GetOperation("-"));
}
else
{
mTextView2.setText("");
}
if(mBox3.isChecked())
{
mTextView3.setText(GetOperation("*"));
}
else
{
mTextView3.setText("");
}
if(mBox4.isChecked())
{
mTextView4.setText(GetOperation("/"));
}
else
{
mTextView4.setText("");
}
}
};
mBox1.setOnCheckedChangeListener(listner);
mBox2.setOnCheckedChangeListener(listner);
mBox3.setOnCheckedChangeListener(listner);
mBox4.setOnCheckedChangeListener(listner);
}
public String GetOperation(String Operation)
{
if(Operation=="+")
{
Temp=Float.parseFloat(mEditText.getText().toString())+
Float.parseFloat(mEditText1.getText().toString());
}
if(Operation=="-")
{
Temp=Float.parseFloat(mEditText.getText().toString())-
Float.parseFloat(mEditText1.getText().toString());
}
if(Operation=="*")
{
Temp=Float.parseFloat(mEditText.getText().toString())*
Float.parseFloat(mEditText1.getText().toString());
}
if(Operation=="/")
{
Temp=Float.parseFloat(mEditText.getText().toString())/
Float.parseFloat(mEditText1.getText().toString());
}
Experssion=mEditText.getText().toString()+Operation+mEditText1.getText().toString()
+"="+Temp.toString();
return Experssion;
}
public void Confirm()
{
new AlertDialog.Builder(CheckBoxCalc.this)
.setTitle("alert")
.setMessage("can not be null")
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
})
.create().show();
}
public boolean isEmpty(EditText e,EditText a)
{
if(e.getText().toString().length()>0 && a.getText().toString().length()>0)
{
isbool= true;
}
else
{
isbool=false;
}
return isbool;
} }
第一個Android DemoChat(偽即使通訊)
學習Android到現在估計應該還不到一個月的時間,我很激動能夠在自己的努力還有奮斗下開發一個自己想要的App,雖然這個App的功能還不夠完善,界面很丑陋,Bug很存在很
Android 設計隨便說說之簡單實踐(合理組合)
上一篇(Android 設計隨便說說之簡單實踐(模塊劃分))例舉了應用商店設計來說明怎麼做模塊劃分。模塊劃分主要依賴於第一是業務需求,具體是怎麼樣的業務。應用商店則包括兩
android6.0 Activity(五) Activity的測量(Measure)、布局(Layout)和繪制(Draw)
Android應用程序窗口的繪圖表面在創建完成之後,我們就可以從上到下地繪制它裡面的各個視圖了,即各個UI元素了。不過在繪制這些UI元素之前,我們還需要從上到下地測量它們
小米手機熱點怎麼開啟 小米手機熱點設置方法
現在的安卓手機都可將手機網絡當作熱點供別人使用,小米也不例外,那麼小米手機熱點怎麼開啟,下面就為大家帶來小米手機熱點使用設置方法。第一步:點開系統設置,選擇