RadioButton 和 CheckBox 是比较常用的控件。
此文章是最简单的示例,因为本人也是初学 Android ,有什么不对的地方请大家多多指正。
因为以前是 C/C++ 编程的,对 Java 的基础知识不好。
例如下面代码中偶想回车,习惯性的使用了:\r\n,但发现 \r 显示异常为方框;只使用 \n 就可以达到偶想要的效果。
代码最后有 Toast 的用法,也可以参考: Toast 的用法。
package leo.zheng.ControlsUsage;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
public class ControlsUsage extends Activity {
private TextView tv;
private RadioGroup radioGroup;
private RadioButton radio1,radio2,radio3,radio4;
private Button buttonSubmit;
private CheckBox box1,box2,box3;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
radioGroup = (RadioGroup)findViewById(R.id.RadioGroup01);
radio1 = (RadioButton)findViewById(R.id.RadioButton01);
radio2 = (RadioButton)findViewById(R.id.RadioButton02);
radio3 = (RadioButton)findViewById(R.id.RadioButton03);
radio4 = (RadioButton)findViewById(R.id.RadioButton04);
buttonSubmit = (Button)findViewById(R.id.Button01);
box1 = (CheckBox)findViewById(R.id.CheckBox01);
box2 = (CheckBox)findViewById(R.id.CheckBox02);
box3 = (CheckBox)findViewById(R.id.CheckBox03);
tv = (TextView)findViewById(R.id.textview);
tv.setTextColor(Color.RED);
tv.setTextSize(20);
/* Leo 只需要 \n, \r 会显示为方框*/
tv.setText("请回答\nP11用的是什么系统?");
radioGroup.setOnCheckedChangeListener(
new RadioGroup.OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(RadioGroup group,int checkedId)
{
Log.v("Radio group", "radio selected test.");
if(checkedId == radio3.getId())
{
showToast("恭喜你回答正确!",Toast.LENGTH_LONG);
}
else
{
showToast("回答错误,请重新选择.",Toast.LENGTH_SHORT);
}
}
}
);
box1.setOnCheckedChangeListener(
new CheckBox.OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton button,boolean isChecked)
{
if(box1.isChecked())
{
Log.v("check box 1", "check selected test." + box1.getText());
showToast("Checkboxed " + box1.getText(),Toast.LENGTH_SHORT);
}
else
{
showToast("UnCheckboxed " + box1.getText(),Toast.LENGTH_SHORT);
}
}
}
);
box2.setOnCheckedChangeListener(
new CheckBox.OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton button,boolean isChecked)
{
if(box2.isChecked())
{
Log.v("check box 2", "check selected test." + box2.getText());
showToast("Checkbox " + box2.getText(),Toast.LENGTH_SHORT);
}
else
{
showToast("UnCheckbox " + box2.getText(),Toast.LENGTH_SHORT);
}
}
}
);
box3.setOnCheckedChangeListener(
new CheckBox.OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton button,boolean isChecked)
{
if(box3.isChecked())
{
Log.v("check box 3", "check selected test." + box3.getText());
showToast("Checkbox " + box3.getText(),Toast.LENGTH_SHORT);
}
else
{
showToast("UnCheckbox " + box3.getText(),Toast.LENGTH_SHORT);
}
}
}
);
}
public void showToast(String str,int duration)
{
//Toast.makeText(this, str, duration).show();
Toast toast = Toast.makeText(this, str, duration);
toast.setGravity(Gravity.TOP, 0, 200);
toast.show();
}
}