0

我正在开发 Android 应用程序,但我遇到了一个问题。我有 Radiobutton 组:

<RadioGroup
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/niezakonczoneRadio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:layout_marginLeft="6dp"
android:layout_marginRight="14dp"
android:layout_marginTop="0dp"
android:onClick="niezakonczoneRadio"
android:text="Niezakończone" />

<RadioButton
android:id="@+id/zakonczoneRadio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:layout_marginLeft="6dp"
android:layout_marginRight="14dp"
android:layout_marginTop="0dp"
android:onClick="zakonczoneRadio"
android:text="Zakończone" />

</RadioGroup>

我想在 if...else 语句(在 onCreate 中)中动态检查其中一个,如下所示:

if (status=="Zakończone"){
          RadioButton radioTak = (RadioButton) findViewById(R.id.zakonczoneRadio);

          radioTak.setChecked(true);
          status_radio="1";  
      } else {
          RadioButton radioNie = (RadioButton) findViewById(R.id.niezakonczoneRadio);
          radioNie.setChecked(true);
          status_radio="0";  
      };

即使“状态”变量是“Zakończone”,也会检查 niezakonczoneRadio。这里有什么问题?一般都是一直勾选一个按钮,不管哪个值有变量。感谢帮助。

4

2 回答 2

1

您的问题显然是条件:

if (status == "Zakończone") { }

这总是返回false(您正在比较引用而不是字符串值)。请记住,无论何时要比较字符串,都必须使用equals()方法。

所以改成:

if (status.equals("Zakończone")) { // or equalsIgnoreCase() }

现在它可以工作了。我强烈建议您阅读以下内容:

并记住一条黄金法则:始终想要比较的字符串equals()成为您最亲密的朋友。

于 2013-03-18T20:47:10.887 回答
0
status.equals("Zakończone") 

使用字符串equals方法

于 2013-03-18T20:47:31.637 回答