我正在开发一个Android应用程序。所以我在按下按钮时在编辑文本字段中加载一些单词时遇到了麻烦...
例如:我有3个按钮和一个编辑文本字段。所以这些按钮都有唯一的名称,Button_1 =" cat" Button_2 ="吃" Button_3 ="大鼠"
我的问题是这个,
当我逐个点击这些按钮时,按钮值将显示在编辑文本字段上。 当我点击按钮(1,2,3)编辑文本字段显示"猫吃老鼠"
但问题是当我按下Button_1 show" cat",但是当我按下Button_2 show" eat"但删除" cat"字。
这是我的问题。我尝试并尝试了许多方法,但没有任何正确的解决方案来解决这个问题。
如果您对上述事项有任何好的建议,请与我分享。
这是我的代码
one.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String name="cat";
EditText.setText(name);
}
});
two.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String name="eat";
EditText.setText(name);
}
});
three.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String name="rat";
EditText.setText(name);
}
});
谢谢。
答案 0 :(得分:2)
您必须将内容与之前的值连接:
final String newText = textView.getText().toString() +
buttonClicked.getText().toString();
textView.setText(newText);
在您的情况下(更新后):
final EditText myEditText = ...;
final View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View view) {
final String newText = myEditText.getText().toString() + ((Button) view).getText();
myEditText.setText(newText);
}
};
one.setOnClickListener(listener);
two.setOnClickListener(listener);
three.setOnClickListener(listener);
答案 1 :(得分:2)
final StringBuilder builder = new StringBuilder();
one.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
builder.append(" cat");
EditText.setText(builder.toString());
}
});
two.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
builder.append(" eat");
EditText.setText(builder.toString());
}
});
three.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
builder.append(" rat");
EditText.setText(builder.toString());
}
});
答案 2 :(得分:0)
您可以使用以下代码段: EditText editText =(EditText)findViewById(R.id.edit_text_field); editText.setText(editText.getText()。toString()+“string”); 将“string”替换为“cat”或“eat”或“rat”(现有按钮单击中的字符串)。