我有一个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;
}
}
#>
答案 0 :(得分:1)
如果我得到你要求的东西,你的开关声明是错误的。
你想让用户写一个完整的数字,但你每次都在使用
phoneTo.setText(number);
这意味着每次使用number
值
改为使用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; }
`