我正在制作一个简单的程序,希望能够像单选按钮一样选择我的性别,你要么选择女性,要么选择男性,另一个选择应该取消选中状态。我有分别为两个按钮准备的不同图像,包括按下和未按下的状态。
我已经将状态存储在一个选择器文件中:
button_female.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:drawable="@drawable/gender_f"/>
<item android:state_pressed="true" android:drawable="@drawable/gender_f" />
<item android:drawable="@drawable/gender_f_notpressed" />
</selector>
在 layout/settings_activity.xml 文件中:
<Button
android:layout_width="130dp"
android:layout_height="130dp"
android:id="@+id/maleButton"
android:layout_alignParentTop="true"
android:layout_marginTop="80dp"
android:layout_marginLeft="220dp"
android:drawable="@drawable/button_male"
android:onClick="onGenderButtonClicked"
/>
在活动中,onClick 写成了:
public void onGenderButtonClicked(View view) {
if(feButton.isPressed()){
maButton.setEnabled(false);
radioPressed = true;
} else if (maButton.isPressed()){
feButton.setEnabled(false);
radioPressed = true;
} else {
radioPressed = false;
}
}
然而,这种方法出现了几个问题。 问题1:按钮上的图片无法显示,按下和未按下都是如此。 问题2:我的代码很糟糕,按钮的功能不如预期。我希望它们表现得像一个单选组(你要么选择男性,要么选择女性)。
所以我似乎有两个问题。有谁知道解决这个问题的好方法吗?我对编写android应用程序非常陌生。