RadioGroup控件无法正常运行

时间:2014-03-27 15:47:10

标签: android android-radiogroup

大家好,我几个小时都在处理同一个问题。我想要实现的是将我的字体设置为TextView并最终完成。但是我遇到了问题RadioGroup问题是当我运行我的应用程序并检查RadioButton它似乎工作。然后我注意到其他RadioButton不工作。我没有能够设置任何文本视图当我点击这里我做错了什么

这是我到目前为止所拥有的

@EDIT

@Override
    public void onCheckedChanged(RadioGroup rdg, int arg1) {

        ///this is where I need help.How can i set returning values
        RadioButton Che= (RadioButton) findViewById(R.id.Che);
        RadioButton Ser= (RadioButton) findViewById(R.id.ser);

         if(arg1 ==R.id.Che ){
              cutomfonts=getFirstFont();
              myTextView.setTypeface(cutomfonts);
        }else if(arg1 == R.id.ser){
              cutomfonts=getSecondFont();
              myTextView.setTypeface(cutomfonts);
        }   



}

这是Xml文件

<RadioGroup
    android:id="@+id/radioGroup1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="68dp"
    android:layout_marginTop="158dp" >

    <RadioButton
        android:id="@+id/Che"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checked="true"
        android:text="RadioButton" />

    <RadioButton
        android:id="@+id/ser"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="RadioButton" />

</RadioGroup>

<TextView
    android:id="@+id/my_textview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/radioGroup1"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="23dp"
    android:layout_marginTop="57dp"
    android:text="Small Text"
    android:textAppearance="?android:attr/textAppearanceSmall" />

1 个答案:

答案 0 :(得分:0)

据我所知,您没有注册Cheser radiobutton,Eclipse在java文件中找不到xml定义的Cheser RadioButton值。所以你先注册做以下事情,

Che= (RadioButton) findViewById(R.id.Che);
ser= (RadioButton) findViewById(R.id.ser);

使用上面的代码后,您可以尝试运行它的完美工作。我也使用自己的代码,如果这也适合你, 现在,您可以按照以下方式实现onCheckedChanged()覆盖方法,

@Override
public void onCheckedChanged(RadioGroup arg0, int arg1) {
    if(arg1 == R.id.Che){
          cutomfonts=getFirstFont();
          myTextView.setTypeface(cutomfonts);
    }else if(arg1 == R.id.ser){
          cutomfonts=getSecondFont();
          myTextView.setTypeface(cutomfonts);
    }   
}

希望这对你有帮助!