Android 小項目之--猜名字有獎!RadionButton 和RadionGroup應用(附源碼)
16lz
2021-01-23
有想過友Android的小屏幕上把asp.net 的RadionButtonList搬進來用嗎?答案是肯定的,Android 的Tool工具提供了一個RadioGroup控件,可將各大自不同的RadioButton設限于同一個Radio按鈕組,這樣子就可以做到單選的效果了,那要怎么樣用呢?先看截圖:
我們要做的事是:當用戶猜題或者選擇一個特定某個選項時,我們將在後臺判斷用戶是否選中,如果選中者相應的做出處理,具體處理看各自項目的需求,代碼片段一:
代码 mButton.setOnClickListener( new OnClickListener(){@Override
public void onClick(Viewv){
// TODOAuto-generatedmethodstub
if (mRadioButton1.isChecked())
{
mRadioButton1.setChecked( false );
}
if (mRadioButton2.isChecked())
{
mRadioButton2.setChecked( false );
}
if (mRadioButton3.isChecked())
{
mRadioButton3.setChecked( false );
}
if (mRadioButton4.isChecked())
{
mRadioButton4.setChecked( false );
}
}
});
按鈕事件,重置選中按鈕為未選中狀態。
代碼片段二:
代码 list = new OnCheckedChangeListener(){@Override
public void onCheckedChanged(RadioGroupgroup, int checkedId){
// TODOAuto-generatedmethodstub
RadioButtonbtn = (RadioButton)findViewById(checkedId);
if (btn.isChecked())
{
switch (checkedId){
case R.id.RadioButton01:
Show( " 回答錯誤! " );
break ;
case R.id.RadioButton02:
Show( " 回答錯誤! " );
break ;
case R.id.RadioButton03:
Show( " 回答正確,獎勵你100分 " );
break ;
case R.id.RadioButton04:
Show( " 回答錯誤! " );
break ;
}
}
}
};
mGroup.setOnCheckedChangeListener(list);
}
步驟分析:一,通過checkid判斷用戶選中哪一個按鈕再判斷,如果狀態為ischeck()則做出相應處理
二,通過checkid做出彈出處理效果
完整代碼如下:
代码 package cn.terry;import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget. * ;
import android.widget.RadioGroup.OnCheckedChangeListener;
public class TestRadioButton extends Activity{
private RadioGroupmGroup;
private ButtonmButton;
private RadioButtonmRadioButton1;
private RadioButtonmRadioButton2;
private RadioButtonmRadioButton3;
private RadioButtonmRadioButton4;
private OnCheckedChangeListenerlist;
/** Calledwhentheactivityisfirstcreated. */
@Override
public void onCreate(BundlesavedInstanceState){
super .onCreate(savedInstanceState);
setContentView(R.layout.main);
mGroup = (RadioGroup)findViewById(R.id.group);
mButton = (Button)findViewById(R.id.Button1);
mRadioButton1 = (RadioButton)findViewById(R.id.RadioButton01);
mRadioButton2 = (RadioButton)findViewById(R.id.RadioButton02);
mRadioButton3 = (RadioButton)findViewById(R.id.RadioButton03);
mRadioButton4 = (RadioButton)findViewById(R.id.RadioButton04);
mButton.setOnClickListener( new OnClickListener(){
@Override
public void onClick(Viewv){
// TODOAuto-generatedmethodstub
if (mRadioButton1.isChecked())
{
mRadioButton1.setChecked( false );
}
if (mRadioButton2.isChecked())
{
mRadioButton2.setChecked( false );
}
if (mRadioButton3.isChecked())
{
mRadioButton3.setChecked( false );
}
if (mRadioButton4.isChecked())
{
mRadioButton4.setChecked( false );
}
}
});
list = new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(RadioGroupgroup, int checkedId){
// TODOAuto-generatedmethodstub
RadioButtonbtn = (RadioButton)findViewById(checkedId);
if (btn.isChecked())
{
switch (checkedId){
case R.id.RadioButton01:
Show( " 回答錯誤! " );
break ;
case R.id.RadioButton02:
Show( " 回答錯誤! " );
break ;
case R.id.RadioButton03:
Show( " 回答正確,獎勵你100分 " );
break ;
case R.id.RadioButton04:
Show( " 回答錯誤! " );
break ;
}
}
}
};
mGroup.setOnCheckedChangeListener(list);
}
public void Show(Stringmsg)
{
new AlertDialog.Builder(TestRadioButton. this )
.setTitle( " 提示 " )
.setMessage(msg)
.setPositiveButton( " 確定 " , null ).create().show();
}
}
源碼下載:/Files/TerryBlog/TestRadioButton.rar
如果你有什麽不懂的可以:QQ285735942 或 Email:terryyhl@gmail.com 希望能幫得到您。
更多相关文章
- Android碎碎念 -- 性能测试,适用于Android Studio的代码审查和性
- 对系统学习与写博客的看法——学完《第一行代码》有感
- Android开发——纯JAVA代码方式界面设计
- GDB调试Android代码——环境搭建及调试过程
- 【Android】蓝牙开发—— 经典蓝牙配对介绍(Java代码实现演示)附De
- Android实现LED灯显示效果
- android selector设置button点击效果(详细)以及常见问题