我在android studio中创建了一个应用程序,我需要建议,我有一个按钮,我需要将第二个按钮上的文本更改为第一个按钮。我有一个代码只更改TextView但不更改按钮上的文本。
NewText = (TextView)findViewById(R.id.textView1);
ChangeText = (Button)findViewById(R.id.ch_txt_ger);
final TextView finalNewText1 = NewText;
ChangeText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Set Text on button click via this function.
finalNewText1.setText(" (Frohe Weihnachten) ");
}
});
答案 0 :(得分:1)
与textView
相同的概念Button SecondButton,ChangeText; // declaring the buttons
SecondButton = (Button)findViewById(R.id.button2);
ChangeText = (Button)findViewById(R.id.ch_txt_ger);
ChangeText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//This changes the text on the second button
SecondButton.setText("New Text Here");
}
});
SecondButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Do anything
}
});
答案 1 :(得分:0)
Button ChangeText;
ChangeText = (Button)findViewById(R.id.ch_txt_ger);
ChangeText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//part to change the button text
Button tmp_button = (Button)findViewById(R.id.ch_txt_ger);
tmp_button.setText("Frohe Weihnachten");
//part to change the textview text
TextView NewText
NewText = (TextView)findViewById(R.id.textView1);
finalNewText1.setText(" (Frohe Weihnachten) ");
}
});
在这里:你可以定义一个临时按钮变量并在其上进行更改,如果单独设置相同的按钮会导致问题。 如果文本不会根据用户改变,并且如果您知道它像On / OFF,Red / Green,您还可以使用选择器文件对其进行编码,这将使Java代码看起来更干净。
一个很小的建议:定义受影响的TextViews和Buttons都应该写在同一个函数中并靠近它们被更改的位置,以便跟踪你编码它们的位置。
答案 2 :(得分:0)
我想添加一件事,如果您想在关闭并重新打开应用时保存新按钮名称,可以使用共享偏好设置:https://developer.android.com/training/basics/data-storage/shared-preferences.html