1

大家好,我已经在同一个问题上工作了几个小时。我想要实现的是将我的字体设置为TextView 并最终完成。但是我遇到了RadioGroup问题问题是当我运行我的应用程序并检查 RadioButton 它似乎工作.然后我注意到另一个 RadioButton 不起作用。当我单击该按钮时,我无法为 Textview 设置任何内容我在这里做错了什么

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

@编辑

@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" />
4

1 回答 1

0

据我所知,您没有注册Che或单选ser按钮,Eclipse 未在 java 文件中找到定义的 xmlChe和RadioButton 值。ser所以你首先注册做以下事情,

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

使用上述代码后,您可以尝试运行它的完美工作。我也使用了我自己的代码 if else 这也适用于您,现在您可以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);
    }   
}

希望这对你有帮助!

于 2014-03-27T15:59:17.580 回答