在我的程序中,當用戶按下按鈕時,我想根據已經存在的內容將文本設置爲其他內容,但它不起作用。 當我單擊按鈕時,沒有任何反應,文本保持不變 這是製作按鈕的xml佈局。他們調用函數NEXTVAL如何從另一個按鈕上設置文本android
<Button
android:id="@+idk/kbutton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="nextVal"
android:text="@string/zero" />
<Button
android:id="@+idk/kbutton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="nextVal"
android:text="@string/x" />
<Button
android:id="@+idk/kbutton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="nextVal"
android:text="@string/one" />
被稱爲
public void nextVal(View view)
{
Button b = (Button) findViewById(view.getId());
System.out.println(b.getText().toString());
switch(view.getId())
{
case R.idk.kbutton4:
if(b.getText().toString() == "0")
b.setText("1");
else if(b.getText().toString() == "1")
b.setText("x");
else if(b.getText().toString() == "x")
b.setText("0");
break;
case R.idk.kbutton3:
if(b.getText().toString() == "0")
b.setText("1");
if(b.getText().toString() == "1")
b.setText("x");
if(b.getText().toString() == "x")
b.setText("0");
break;
case R.idk.kbutton2:
if(b.getText().toString() == "0")
b.setText("1");
if(b.getText().toString() == "1")
b.setText("x");
if(b.getText().toString() == "x")
b.setText("0");
break;
}
}
發生了什麼事?它有錯誤嗎? – iTurki
嘗試使用b.getText()。toString.equals(「0」) – Delpes