返回
顶部

修改密码

Android EditText 用法及焦点处理总结

+1

-1

收藏

+1

-1

点赞0

评论0

笔者最经最近在做一个项目,主要是在Android平板上处理扫描枪数据,用EditText做字符坚挺,但在EditText焦点用法碰到了一些问题,故而把这些问题及处理方法总结一下1.如何监听EditText字符变化首先想到的是addTextChangedListener事件,但笔者要做的是处理扫描枪以\n结束的数…

笔者最经最近在做一个项目,主要是在Android平板上处理扫描枪数据,

用EditText做字符坚挺,但在EditText焦点用法碰到了一些问题,故而把这些问题及处理方法总结一下

1.如何监听EditText字符变化

首先想到的是addTextChangedListener事件,但笔者要做的是处理扫描枪以\n结束的数据,并在下一次扫描时清除掉上一次的数据

具体代码如下:

private boolean bEnter = false;

EditSop.addTextChangedListener(new TextWatcher() {

@Override
public void onTextChanged(CharSequence arg0, int start, int before, int count) {
String str = arg0.toString();
int Len = str.length();
if(bEnter){
bEnter = false;
if( ! str.endsWith("\n") ) {
String strBuff = str.substring(Len-1, Len);
EditSop.setText(strBuff);
EditSop.setSelection(1);
}

}
if(str.endsWith("\n")){
String str1 = str.substring(0, Len-1);
int iPos = str1.lastIndexOf("\n");
String strBuff = "";
if(-1 == iPos) {
strBuff = str1.substring(0, str1.length());
}else{
strBuff = str1.substring(iPos+1, str1.length());
}
//Toast.makeText(MainActivity.this, strBuff, 2000).show();
//mbarcode = strBuff;
mDialog.setMessage("正在扫描条码...");
mDialog.show();
RScan rScan = new RScan(strBuff);
Thread thread = new Thread(rScan);
thread.start();
EditSop.setText(str.substring(0, Len-1));
EditSop.setSelection(Len-1);
bEnter = true;
}

//Toast.makeText(MainActivity.this, "start: "+start+"before: "+before+"count: "+count, 2000).show();

}

@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {Toast.makeText(MainActivity.this, "start: "+arg1+"before: "+arg2+"count: "+arg3, 2000).show();}

@Override
public void afterTextChanged(Editable arg0) {
//Toast.makeText(MainActivity.this, arg0.toString(), 2000).show();
}
});


2.如何锁定EditText光标一直处于最后

联想到setOnClickListener就很容易处理了,代码如下:

EditSop.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
int Len = EditSop.getEditableText().toString().length();
EditSop.setSelection(Len);
}
});


最后笔者在edittext与listview焦点处理上一直有问题,还需要继续研究...

扫一扫在手机打开

评论
已有0条评论
0/150
提交
热门评论
相关推荐
今日要闻
换一批
热点排行