在我的程序中,当用户按下按钮时,我想根据已有的内容将文本设置为其他内容,但它不起作用。当我单击按钮时,没有任何反应,文本保持不变 这是制作按钮的 xml 布局。他们调用函数 nextVal
<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;
}
}