Java 改变<;放射组>;单击或检查方向
我是android编程新手,当组中的一个按钮被点击时,我试图改变我的组的方向 比如说, RadioGroup(id:groupOne)将有两个单选按钮 一个名为“水平”(id:hor) 及 一个名为“垂直”(id:vert) 默认情况下,放射组方向为水平 单击“垂直”时,射线组将从水平方向更改为垂直方向,并且只要选中“垂直”单选按钮,射线组将保持这种状态 对于hor单选按钮也是如此 **注意:我正在为应用程序使用LinearLayout activity_main.xml:Java 改变<;放射组>;单击或检查方向,java,android,jquery,xml,Java,Android,Jquery,Xml,我是android编程新手,当组中的一个按钮被点击时,我试图改变我的组的方向 比如说, RadioGroup(id:groupOne)将有两个单选按钮 一个名为“水平”(id:hor) 及 一个名为“垂直”(id:vert) 默认情况下,放射组方向为水平 单击“垂直”时,射线组将从水平方向更改为垂直方向,并且只要选中“垂直”单选按钮,射线组将保持这种状态 对于hor单选按钮也是如此 **注意:我正在为应用程序使用LinearLayout activity_main.xml: <RadioG
<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/groupOne"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton android:id="@+id/hor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Horizontal"
android:onClick="onRadioButtonClicked"/>
<RadioButton android:id="@+id/vert"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Vertical"
android:onClick="onRadioButtonClicked"/>
</RadioGroup>
方法二:(MainActivity.java)
这两种方法都不起作用,并且都导致选中/单击“不执行任何操作”时出现单选按钮,或者选中其中一个按钮时出现崩溃。在某些情况下,它甚至不运行
任何帮助都将不胜感激:)
public void onRadioButtonClicked(View view) {
boolean checked = ((RadioButton) view).isChecked();
RadioGroup myLayout = (RadioGroup) view.findViewById(R.id.groupOne);
// Check which radio button was clicked
switch (view.getId()) {
case R.id.hor:
if (checked)
myLayout = (RadioGroup) view.findViewById(R.id.groupOne);
myLayout.setOrientation(RadioGroup.HORIZONTAL);
break;
case R.id.vert:
if (checked)
myLayout = (RadioGroup) view.findViewById(R.id.groupOne);
myLayout.setOrientation(RadioGroup.VERTICAL);
break;
}
}
public void onRadioButtonClicked(final View view) {
RadioButton horizontal = (RadioButton) view.findViewById(R.id.hor);
RadioButton vertical = (RadioButton) view.findViewById(R.id.vert);
if (horizontal.isChecked()) {
View.OnClickListener first_radio_listener = new View.OnClickListener() {
public void onClick(View v) {
RadioGroup myLayout;
myLayout = (RadioGroup) view.findViewById(R.id.groupOne);
myLayout.setOrientation(RadioGroup.HORIZONTAL);
}
};
}
else if (vertical.isChecked()) {
View.OnClickListener second_radio_listener = new View.OnClickListener() {
public void onClick(View v) {
RadioGroup myLayout;
myLayout = (RadioGroup) view.findViewById(R.id.groupOne);
myLayout.setOrientation(RadioGroup.VERTICAL);
}
};
}