我想在用户完成后更改 EditText 框的内容。所以假设用户输入了一行数字,例如 50126057,在他/她完成后,我需要在用户单击我的应用程序上的发送按钮之前或之后添加一些字符。它需要看起来像这样: scn|50126057{) 以便我在 PC 上的应用程序能够理解它。无论如何这可以做到吗?
谢谢,非常感谢任何帮助
PS对不起拼写/语法
EditText word = (EditText) findViewById(R.id.username);
//内部按钮单击事件
//将编辑文本中输入的单词分配给字符串变量(在本例中为'wordtoformat')
String wordtoformat=word.getText().toString();
//现在根据需要格式化单词
wordtoformat="scn|"+wordtoformat+"{)";
//现在将格式化的字符串分配回编辑文本
word.setText(text);
希望它有效
您可以使用 OnFocus 侦听器,如下所示:
EditText et = (EditText)findViewById(*editText id*);
et.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus) {
String text = et.getText().ToString();
String newText = "scn|"+text+"{)";
et.setText(newText);
}
});
对不起,如果我不是 100% 准确,但我已经从工作中回答了我这里没有 Android IDE :)
希望对你有帮助!
PS:只有当用户失去 EditText 的焦点然后单击按钮或者通过单击按钮用户不会离开活动时,用户才会看到修改后的文本。但是出于修改文本的目的,应该可以正常工作。
在单击 Button 事件时,
btn.setOnClickListener(new onClickListener(){
public void onClick(View v){
String data="scn|"+edt.getText().toString()+"{)";
}
});