我正在开发一个应用程序,其中包含多个选项问题。在这里,根据服务器响应,当用户单击按钮时,单选按钮应动态更改为复选框。这可能吗?
答案 0 :(得分:1)
首先尝试这个XML布局::
<RelativeLayout
android:id="@+id/rltRadio"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="visible">
<RadioGroup
android1:id="@+id/radioGroup1"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:layout_alignParentLeft="true"
>
<RadioButton
android1:id="@+id/radio0"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:checked="true"
android1:text="Option 1" />
<RadioButton
android1:id="@+id/radio1"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:text="Option 2" />
<RadioButton
android1:id="@+id/radio2"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:text="Option 3" />
</RadioGroup>
</RelativeLayout>
<RelativeLayout
android1:id="@+id/relativeLayout1"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android:layout_below="@+id/rltRadio"
android:visibility="gone" >
<CheckBox
android1:id="@+id/checkBox1"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:layout_alignParentLeft="true"
android1:text="CheckBox 1" />
<CheckBox
android1:id="@+id/checkBox2"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:layout_alignParentLeft="true"
android1:layout_below="@+id/checkBox1"
android1:text="CheckBox 2" />
<CheckBox
android1:id="@+id/checkBox3"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:layout_alignParentLeft="true"
android1:layout_below="@+id/checkBox2"
android1:text="CheckBox 3" />
</RelativeLayout>
<Button
android1:id="@+id/button1"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:layout_alignParentBottom="true"
android1:layout_centerHorizontal="true"
android1:layout_marginBottom="31dp"
android1:text="Change Option" />
之后请添加此代码:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.RelativeLayout;
public class TestActivity extends Activity{
RelativeLayout rltRadio,rltCheck;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.radio_to_check);
rltRadio=(RelativeLayout) findViewById(R.id.rltRadio);
rltCheck=(RelativeLayout) findViewById(R.id.relativeLayout1);
findViewById(R.id.button1).setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
rltRadio.setVisibility(View.GONE);
rltCheck.setVisibility(View.VISIBLE);
}
});
}
}
如果您遵循这种方式,那么您就可以解决问题。请检查并提供反馈。