按钮值为EditText?

时间:2016-11-10 08:46:57

标签: android button android-edittext

我有一个EditText和按钮,比如我在每个按钮上设置的电话来电号码,以便在editText上设置文字,但为什么不写下一个呢? 当我按一个然后2整个编辑文本只有2然后如果我点击3 2删除和3 wroten我想像键盘到下一个文本

<#
            var attributes = ['content', 'title6', 'title5', 'title4', 'title3', 'title2', 'title1'];
            var attribute_name;
            var relevant_content = '';
            for ( var index in attributes ) {
            attribute_name = attributes[ index ];
            if ( data._highlightResult[ attribute_name ].matchedWords.length > 0 ) {
            relevant_content = data._snippetResult[ attribute_name ].value;
            break;
            } else if( data._snippetResult[ attribute_name ].value !== '' ) {
            relevant_content = data._snippetResult[ attribute_name ].value;
            }
            }
            #>

4 个答案:

答案 0 :(得分:1)

如果我得到你要求的东西,你的开关声明是错误的。

你想让用户写一个完整的数字,但你每次都在使用

phoneTo.setText(number);

这意味着每次使用number

重置edittext时

改为使用phoneTo.append(mynumber);

希望它有所帮助

答案 1 :(得分:0)

你必须附加字符串

试试这个

   case R.id.btn1:
          String str=phoneTo.getText().toString()+"1";
         phoneTo.setText(str);
        break;

同样适用于所有情况

答案 2 :(得分:0)

使用SetText()更改EditText中的整个文本,您必须使用输入连接当前文本:

phoneTo.setText(phoneTo.getText() + "1");

或者看一下像getText()。append(),getText()。insert(),getText()。replace()

这样的函数。

答案 3 :(得分:0)

你应该这样做,因为你所做的只是每次都用数字替换EditText。

`

@Override
public void onClick(View v) {

    switch (v.getId()){
        case R.id.btn1:
            String number = phoneTo.getText.toString();
number += "1";
phoneTo.setText(number);
break;
        ...
        case R.id.btn99:
            String str=phoneTo.getText().toString();
            if (str.length() >1 ) {
                str = str.substring(0, str.length() - 1);
                phoneTo.setText(str);
            }
            else if (str.length() <=1 ) {
                phoneTo.setText("");
            }
            break;

    }

`