android开发之RadioGroup的使用

最近自学android开发,所以想写下一点东西来见证自己的成长,就先从RadioGroup开始。

RadioGroup是一系列radiobutton的集合,可以分别设置radiobutton的点击事件,所以这篇博客教会大家怎么使用radiogroup 先上图android开发之RadioGroup的使用_第1张图片

可以看到,背景音乐,游戏音效,玩家机型旁边都有radiobutton,但我们使用的是radiogroup,每个radiogroup中有2个radiobutton。界面设置完成之后就可以为radiogroup绑定监听事件了,而这里的监听事件是 OnCheckedChangeListener(),当点击一个radio button时做出相应的行为。

直接贴代码吧,这个比较简单

首先是布局文件




    

        

        

            

            
        
    

    

        

        

            

            
        
    

    

        

        

            

            

        
    

    

        

        
    

    

        

然后是Activity里的代码:

因为我这里设置了,把选择之后的情况提交之后,在下面的textview中显示,所以还为button绑定了一个监听器

package com.example.hc.leishengame;

import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.IdRes;
import android.support.annotation.Nullable;
import android.view.View;
import android.widget.Button;
import android.widget.RadioGroup;
import android.widget.TextView;

/**
 * Created by hc on 2017/8/2.
 */

public class GameSettingActivity extends Activity {
    private Button btn_comfirm;
    private RadioGroup rbtn_bmusic, rbtn_sound, rbtn_planetype;
    private TextView tv_comfirm;
    String bgmusic = "开";
    String sound = "开";
    String planetype = "机型一";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.parameterset);
        initView();
        initEvent();
    }

    public void initView() {
        btn_comfirm = (Button) findViewById(R.id.btn_comfirm);
        rbtn_bmusic = (RadioGroup) findViewById(R.id.rbtn_bmusic);
        rbtn_sound = (RadioGroup) findViewById(R.id.rbtn_sound);
        rbtn_planetype = (RadioGroup) findViewById(R.id.rbtn_planetype);
        tv_comfirm = (TextView) findViewById(R.id.tv_comfirm);
    }

    public void initEvent() {
        RadioGroup.OnCheckedChangeListener checkedChangeListener = new MyChangedOnClickListenr();
        rbtn_bmusic.setOnCheckedChangeListener(checkedChangeListener);
        rbtn_sound.setOnCheckedChangeListener(checkedChangeListener);
        rbtn_planetype.setOnCheckedChangeListener(checkedChangeListener);
        View.OnClickListener myOnClickListener = new MyOnClickListener();
        btn_comfirm.setOnClickListener(myOnClickListener);
    }

    class MyChangedOnClickListenr implements RadioGroup.OnCheckedChangeListener {


        @Override
        public void onCheckedChanged(RadioGroup radioGroup,int i) {
            switch (radioGroup.getId()) {
                case R.id.rbtn_bmusic:
                    if (i == R.id.rbtn_bmusic_open) {
                        bgmusic = "开";
                    } else {
                        bgmusic = "关";
                    }
                    break;
                case R.id.rbtn_sound:
                    if (i == R.id.rbtn_sound_open) {
                        sound = "开";
                    } else {
                        sound = "关";
                    }

                    break;
                case R.id.rbtn_planetype:
                    if (i == R.id.rbtn_planetype_one) {
                        planetype = "机型一";
                    } else {
                        planetype = "机型二";
                    }
                    break;
                default:
                    break;
            }
        }
    }

    class MyOnClickListener implements View.OnClickListener {

        @Override
        public void onClick(View view) {
            StringBuilder sb = new StringBuilder();
            sb.append("背景音乐" + bgmusic + ",游戏音效" + sound + ",玩家机型" + planetype);
            tv_comfirm.setText(sb);

        }
    }
}




你可能感兴趣的:(android开发)