问题描述:先看页面
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/pub_window_bg" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="10dp" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="vertical"
android:padding="10dp" >
<TextView
android:id="@+id/tvTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="大家帮名称"
android:textColor="#505050"
android:textSize="16sp" />
<TextView
android:id="@+id/tvTitleContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@id/tvTitle"
android:ellipsize="end"
android:singleLine="true"
android:text="联想6540安装-现场安装"
android:textColor="#505050"
android:textSize="16sp" />
<TextView
android:id="@+id/tvMoneyTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/tvTitle"
android:layout_marginTop="5dp"
android:text="支持金额"
android:textColor="#505050"
android:textSize="14sp" />
<TextView
android:id="@+id/tvMoney"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/tvTitle"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:layout_toRightOf="@id/tvMoneyTitle"
android:text="支持金额"
android:textColor="#505050"
android:textSize="14sp" />
</RelativeLayout>
<!-- 支付 -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@color/white"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="11dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="12dp"
android:background="@drawable/pub_bg_selector"
android:gravity="center_vertical"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="使用钱包付款"
android:textColor="#505050"
android:textSize="15sp" />
<TextView
android:id="@+id/tvWalletMoney"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_weight="1"
android:ellipsize="end"
android:singleLine="true"
android:text=" (可用余额:¥0) "
android:textColor="#858585"
android:textSize="15sp" />
<CheckBox
android:id="@+id/cbUseWallet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="20dp"
android:button="@drawable/cb_show"
android:drawableLeft="@null" />
</LinearLayout>
<include layout="@layout/include_line_h" />
<RadioGroup
android:id="@+id/radioGroupPay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="vertical" >
<RadioButton
android:id="@+id/radioAlipay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:button="@null"
android:checked="true"
android:drawableLeft="@drawable/img_alpay"
android:drawablePadding="10dp"
android:drawableRight="@drawable/selector_gender_woman"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="25dp"
android:paddingTop="10dp"
android:text="支付宝"
android:textColor="#858585" />
<RadioButton
android:id="@+id/radioWxpay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:button="@null"
android:drawableLeft="@drawable/img_wechat"
android:drawablePadding="10dp"
android:drawableRight="@drawable/selector_gender_woman"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="25dp"
android:paddingTop="10dp"
android:text="微信钱包"
android:textColor="#858585" />
</RadioGroup>
<include layout="@layout/include_line_h" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="49dp"
android:layout_alignParentBottom="true"
android:background="#80FFFFFF"
android:gravity="center_vertical"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingLeft="15dp"
android:text="共支付:"
android:textColor="#858585"
android:textSize="14sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="¥"
android:textColor="#df5132"
android:textSize="18sp" />
<TextView
android:id="@+id/tvPayMoney"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLength="7"
android:minWidth="80dp"
android:singleLine="true"
android:text="100000"
android:textColor="#df5132"
android:textSize="18sp" />
<com.heiyue.ui.ButtonTouch
android:id="@+id/btnSubmit"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/btn_orange_corner_no"
android:gravity="center"
android:text="去支付"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
</RelativeLayout>
手动设置选择哪种支付方式
cbUseWallet.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
choosePayType(0);
}
});
radioAlipay.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
choosePayType(1);
}
});
radioWxpay.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
choosePayType(2);
}
});
/**
* 选择支付方式;三者只能选择一种
*
* @param type
* 0,钱包支付;1,支付宝支付;2微信支付
*/
private void choosePayType(int type) {
cbUseWallet.setChecked(false);
radioGroupPay.clearCheck();
switch (type) {
case 0:
cbUseWallet.setChecked(true);
break;
case 1:
radioAlipay.setChecked(true);
break;
case 2:
radioWxpay.setChecked(true);
break;
default:
break;
}
}
解决方案:
1.
RadioGroup的clearCheck方法
可设置RadioButton为初始的都不选中状态。在做完点击事件后,RadioGroup.clearCheck();就可以了。直接挨个setChecked(false)会出问题,下次点击不会变为选中状态
2.
设置RadioButton的默认选中, 使用setChecked(true) 这样会使RadioButton一直处于选中状态.
我们应该给RadioGroup 设置选中的RadioButton
代码:
radioGroup.check(radioButton.getId());