用户完成后在“编辑文本”框中格式化文本

时间:2013-03-28 11:09:21

标签: java android

我想在用户完成后更改EditText框的内容。因此,如果用户输入了一行数字,例如50126057,他/她完成后我需要在用户点击我的应用程序上的发送按钮之前或之后添加一些字符。它需要看起来像这样:scn | 50126057 {)这样我在PC上的应用程序就能理解它。无论如何这可以做到吗?

谢谢,非常感谢任何帮助

P.S对不起拼写/语法

3 个答案:

答案 0 :(得分:0)

EditText word =(EditText)findViewById(R.id.username);

//里面的按钮点击事件
//将编辑文本中输入的单词分配给字符串变量(在本例中为'wordtoformat')

String wordtoformat=word.getText().toString();

//现在根据需要格式化单词

wordtoformat="scn|"+wordtoformat+"{)";

//现在将格式化字符串分配回编辑文本

word.setText(text);

希望它有效

答案 1 :(得分:0)

您可以使用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的焦点然后单击按钮或者单击按钮时才会看到修改后的文本,用户不会离开活动。但是为了修改文本,应该可以正常工作。

答案 2 :(得分:0)

点击按钮事件时,

btn.setOnClickListener(new onClickListener(){
public void onClick(View v){
String data="scn|"+edt.getText().toString()+"{)";
}
});