java - 这个RadioGroup布局或其LinearLayout父级是无用的

标签 java android

我正在尝试将 RadioGroupLinearLayout 一起嵌入,以便将元素动态添加到我的布局中。我的代码在这里

`

<RadioButton
    android:id="@+id/dailyCheck"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/dailyCheck"/>

<RadioButton
    android:id="@+id/selectedCheck"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/selectedCheck" />

<RadioButton
    android:id="@+id/specificCheck"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/specificCheck" />

`

这样做会显示异常:

这个RadioGroup布局或其LinearLayout父级没有用

请建议我该怎么做。

为什么LinearLayoutRadioGroup不能放在一个文件中。

最佳答案

package app.test;

import android.app.Activity;
import android.os.Bundle;

import android.view.Gravity;
import android.widget.LinearLayout;
import android.widget.RadioGroup;

public class Test extends Activity implements
RadioGroup.OnCheckedChangeListener {
  RadioGroup orientation;
  RadioGroup gravity;

  @Override
  public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);

orientation = (RadioGroup) findViewById(R.id.orientation);
orientation.setOnCheckedChangeListener(this);
gravity = (RadioGroup) findViewById(R.id.gravity);
gravity.setOnCheckedChangeListener(this);
  }

  public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.horizontal:
  orientation.setOrientation(LinearLayout.HORIZONTAL);
  break;

case R.id.vertical:
  orientation.setOrientation(LinearLayout.VERTICAL);
  break;

case R.id.left:
  gravity.setGravity(Gravity.LEFT);
  break;

case R.id.center:
  gravity.setGravity(Gravity.CENTER_HORIZONTAL);
  break;

case R.id.right:
  gravity.setGravity(Gravity.RIGHT);
  break;
}
  }
}

//main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
  <RadioGroup android:id="@+id/orientation"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5px">
<RadioButton
  android:id="@+id/horizontal"
  android:text="horizontal" />
<RadioButton
  android:id="@+id/vertical"
  android:text="vertical" />
  </RadioGroup>
  <RadioGroup android:id="@+id/gravity"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="5px">
    <RadioButton
      android:id="@+id/left"
      android:text="left" />
    <RadioButton
      android:id="@+id/center"
      android:text="center" />
    <RadioButton
      android:id="@+id/right"
      android:text="right" />
  </RadioGroup>
   </LinearLayout>

关于java - 这个RadioGroup布局或其LinearLayout父级是无用的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14556133/

相关文章:

java - Java 中的 Socket 和 ObjectInputStream - Android

java - 如何使用二分查找获得更多的搜索数据?

java - 连接到 Android 的 php 文件

java - 如何使用Elasticsearch API ScriptQueryBuilder

java - 如何在 JSF 2 的值表达式和方法表达式中传递参数?

java - 具有相同端口和地址的套接字的两个实例

android - 如何检查围栏 key 是否已为 Awareness API 注册?

java - Android动态TabView使用JSON配置文件

java - 配置 IntelliJ getter 和 setter 代码生成

java - Java 如何检查是否过时