所以我想做一件非常简单的事情,由于某种原因,我无法弄清楚如何去做。我尝试过在网上搜索,但继续寻找那些不能完全回答我的问题的资源。如何更改按钮上的文本,而不是按下该按钮,但是如果按下任何按钮并且按下的按钮上的文本等于某个值?我的所有字符串都保存在strings.xml文件中,我只是在我的fragment_main.xml中引用它们(例如,使用 机器人:文字= “@字符串/ firstoption” ,但如果这更容易,我可以对字符串进行硬编码。我也在使用片段,所以我应该将onClick方法放在MainActivityFragment.java或MainActivity.java中吗?
答案 0 :(得分:0)
尝试为您的按钮创建2个div。在按钮单击事件上显示和隐藏div。使用#divid来获取div。或者按钮文本应该是一个动态值,它应该在页面上的任何按钮点击时改变。
答案 1 :(得分:0)
使用下面的代码,您将创建一个通用的OnClickListener“buttonClickListener”。然后,您可以将相同的单击侦听器添加到您想要侦听的所有按钮。在这种情况下,按钮1,2和3.当您单击其中任何一个按钮时,将调用buttonClickListener。 View v paramater将是触发此事件的视图的参考,在我们的示例中,无论按下哪个按钮。然后,您可以将v转换为键入Button并检查单击的按钮的文本。如果是某个值,您可以设置所需按钮的文本,在本例中为buttonToSetText按钮。
final OnClickListener buttonClickListener = new OnClickListener() {
public void onClick(final View v) {
Button b = (Button)v;
if(b.getText().toString().equals("something")){
buttonToSetText.setText("value to set");
}
}
};
Button buttonToSetText = (Button) findViewById(R.id.buttonToSetText);
Button button1 = (Button) findViewById(R.id.button1);
Button button2 = (Button) findViewById(R.id.button2);
Button button3 = (Button) findViewById(R.id.button3);
button1.setOnClickListener(buttonClickListener);
button2.setOnClickListener(buttonClickListener);
button3.setOnClickListener(buttonClickListener);