一、RaidoButton
1. 效果图
2. activity_main.xml
3. MainActivity.java
public class MainActivity extends AppCompatActivity {
@BindView(R.id.rg_sex)
RadioGroup mSelectSex;
@BindView(R.id.rb_male)
RadioButton mMale;
@BindView(R.id.rb_female)
RadioButton mFemale;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
}
@OnCheckedChanged({R.id.rb_male,R.id.rb_female})
public void onRadioCheck(CompoundButton view,boolean isChanged) {
switch (view.getId()) {
case R.id.rb_male:
if (isChanged) {
Toast.makeText(this,"you select male",Toast.LENGTH_SHORT).show();
}
break;
case R.id.rb_female:
if (isChanged) {
Toast.makeText(this,"you select female",Toast.LENGTH_SHORT).show();
}
break;
default:
break;
}
}
}
二、RadioButton | RadioGroup
1. 布局文件
2. sel_text.xml
3. rb_left.xml
4. rb_left_nor.xml
5. rb_left_pre.xml
6. 代码
public class OrderDetailActivity extends BaseActivity {
@BindView(R.id.rg_detail)
RadioGroup mDetail;
@BindView(R.id.rb_basic_info)
RadioButton mBasic;
@BindView(R.id.rb_progress)
RadioButton mProgress;
@BindView(R.id.title_bar)
TitleBar mTitleBar;
private BasicFragment mBasicFragment = HomeFragmentFactory.getInstance().getBasicFragment();
private ProcessFragment mProcessFragment = HomeFragmentFactory.getInstance().getProcessFragment();
@Override
protected int getLayoutId() {
return R.layout.activity_order_detail;
}
@Override
protected void initView() {
mTitleBar.setOnTitleBarListener(new OnTitleBarListener() {
@Override
public void onLeftClick(View view) {
finish();
}
@Override
public void onTitleClick(View view) {
}
@Override
public void onRightClick(View view) {
}
});
showFragment(mBasicFragment);
}
@OnCheckedChanged({R.id.rb_basic_info,R.id.rb_progress})
public void onRadioCheck(CompoundButton view, boolean isChanged) {
switch (view.getId()) {
case R.id.rb_basic_info:
if (isChanged) {
showFragment(mBasicFragment);
}
break;
case R.id.rb_progress:
if (isChanged) {
showFragment(mProcessFragment);
}
break;
default:
break;
}
}
/**
* 切换fragment
*
* @param targetFragment
* @return
*/
private void showFragment(Fragment targetFragment) {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fl_content, targetFragment, targetFragment.getClass().getName());
transaction.commit();
}
}
三、CheckBox
1. 效果图
2. main_activity.xml
3. MainActivity.java
public class MainActivity extends AppCompatActivity {
@BindView(R.id.cb_basketball)
CheckBox mBasketball;
@BindView(R.id.cb_football)
CheckBox mFootBall;
@BindView(R.id.cb_pingpong)
CheckBox mPingpong;
@BindView(R.id.cb_badminton)
CheckBox mBadminton;
private Map like = new HashMap();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
}
@OnCheckedChanged({R.id.cb_basketball,R.id.cb_football,R.id.cb_pingpong,R.id.cb_badminton})
public void onRadioCheck(CompoundButton view,boolean isCheck) {
switch (view.getId()) {
case R.id.cb_basketball:
if (isCheck) {
like.put("basketball","篮球");
}else {
like.remove("basketball");
}
break;
case R.id.cb_football:
if (isCheck) {
like.put("football","足球");
}else {
like.remove("football");
}
break;
case R.id.cb_pingpong:
if (isCheck) {
like.put("pingpong","乒乓球");
}else {
like.remove("pingpong");
}
break;
case R.id.cb_badminton:
if (isCheck) {
like.put("badminton","羽毛球");
}else {
like.remove("badminton");
}
break;
default:
break;
}
}
/**
* 输出总的爱好
*
* @param v
*/
public void show(View v) {
// 循环读取爱好
StringBuilder sb = new StringBuilder();
String ret = "这个人的爱好是:";
if (like.size() == 0) {
String no = "这个人完全没有爱好!";
Toast.makeText(MainActivity.this, no, Toast.LENGTH_SHORT).show();
} else {
sb.append(ret);
for (String key : like.keySet()) {
sb.append(like.get(key) + "\t");
}
Toast.makeText(MainActivity.this, sb, Toast.LENGTH_SHORT).show();
}
}
}