Android中EditText如何判断数据来源是扫描获取,还是手动输入的? 10C

我有个PDA系统是扫描条码然后赋值给EditText,也可以手动输入,现在想判断是手动输入还是扫描获取的数据,然后给服务器传值,0或1,表示自动或手动!求大神赐教应该如何判断

10个回答

我是做前端的,之前也做过扫码输入的功能,在此分享下我的经验,希望对你有所帮助:
判断是扫码输入还是手动输入,重要的是区分扫码输入和手动输入的区别:
扫码输入可以设置扫码枪扫码后在得到的结果后面增加一个enter键,
而手动输入的话用户是不会手动输enter键的。
另外,如果你不知道扫码得到的数据后面是不是有enter键,建议你看下说明书。同时,除了enter键之外,还可以是换行,换行+enter等等。说明书上会有。
希望可以帮助到你。

Barnettdove
Barnettdove 可是针对测试来讲,会这么测,又该怎么区分扫码枪输入的enter和键盘输入的enter呢?
3 个月之前 回复

问题补充:
有个Android系统的PDA自带扫描头,有个EditText控件添加个一个监听 addTextChangedListener(new TextWatcher()) 在afterTextChanged(Editable waybillNo)方法中写,获取 waybillNo 数据,然后添加到ListView中,我是当waybillNo长度达到12位的时候自动添加到ListView中去,然后保存到本地数据库,
在保存数据的时候需要保存下是自动输入还是手动录入的一个标记,还有,这个是扫描的一维码,获取到的数据是(如:029014536582912A)前面12位
数字是单号,后面四位数(也可能是5位)是目的代码,手动输入的是只有单号没有目的代码,现在有个BUG是可以先输入一个数字在去扫描也可以添加
,网上找了好长时间都没有有效的解决办法

楼主你能说清楚扫描条码赋值是怎么样的流程么?

扫描条码如果要调用摄像头,就在扫描完成的时候做个标记

qq_31130725
holamP 回复qq_32669993: 就算不是手机的摄像头,扫描完成也应该会有个回调吧
接近 3 年之前 回复
qq_32669993
qq_32669993 不是手机的摄像头,是这个设备自带的,给个输入框然后扫描一下就可以获取到相应的数据
接近 3 年之前 回复

扫描条码赋值应该是调seText()赋值吧,手动输入不用调setText()
int mark = 1; // 默认手动

在扫描赋值的seText()这里加一行
mark = 0; // 自动赋值

手动输入的时候不改变mark值(默认1表示手动)

传值的时候传mark就行了

Simple_Simple_Simple
D_ZJY 回复qq_32669993: 输入之后扫描,扫描之后输入,输入之后扫描再输入,扫描输入扫描,这些情况算是输入的还是扫描的,还是算0和1之外的新值2
接近 3 年之前 回复
Simple_Simple_Simple
D_ZJY 回复qq_32669993: 是的,还有一些特殊情况没考虑,
接近 3 年之前 回复
qq_32669993
qq_32669993 这里有个BUG,如果先在EditText里面输入一个数字,在用扫描头去扫描就没有办法去判断了
接近 3 年之前 回复

扫描条码赋值应该是调edittext.settext(String s)方法吧,这是可以设置tag edittext.settag(0).

最后在获取edittext内容 edittext.gettext() 的时候,获取tag edittext.gettag(), 判断是否为0,不为0,则传值1.

qq_32669993
qq_32669993 我没说清楚,不是给EditText赋值是直接添加到LIstView中去,
接近 3 年之前 回复

使用EditText的addTextChangedListener(TextWatcher watcher)方法对EditText实现监听,扫描赋值时设为1,然后监听是否被修改,被修改设为0.

qq_32669993
qq_32669993 现在主要是如何判断是扫描获得的数据
接近 3 年之前 回复

手动输入后如果再扫码,则先清空edittext里面的内容。。。
如果扫码时候调用摄像头会有广播android.hardware.action.NEW_PICTURE和android.hardware.action.NEW_VIDEO
利用是否存在广播判断是否手动或者扫码输入试试

设置一个变量记录是否是扫描获取;
调用扫描会掉的时候设置变量true;同事记录结果
在提交的时候,首先校验扫描变量;在校验结果信息是否和最后的提交信息匹配

重写dispatchKeyEvent(KeyEvent event0;方法,通过判断event.getDevice().getName()来判断是否是系统软键盘输入~~然后拦截文本,直到监听到enter键,至此扫码结束~~~

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android是如何判断一个apk来源的?
在android安装程序的时候,有一个选项:是否安装未知源的apk(是否允许安装non-Market应用程序)。我想知道,android如何判断这个apk是market还是non-market呢?根据什么来判断?
textbox 如何判断是手动输入还是扫描枪输入。。。
textbox 如何判断是手动输入还是扫描枪输入。。。rnrn做了一个程序 需要刷卡的, 那个卡只可以用 扫描枪 读取卡号 的rnrn但是 这个卡不需要密码,怎么去防止 收银员,去手动恶意输入 卡号盗取比人金额rnrn我想 是否可以从输入的时间上判断??rnrn怎么判断 textbox 不是人为通过键盘输入?rnrn或者限制键盘输入 但是键盘输入限制了 扫描枪也打不进去了。。。。rnrn===========================这样写不行啊 扫描枪也打不进去了rnpublic void textbox_KeyPress(Object sender, ......)rnrn if(e.KeyChar < 48)rn rn e.Handled=true;rn rnrn==========================这样写不行啊 扫描枪也打不进去了rnrnrn各位高手指点下。
如何获取combogrid手动输入的值,手动输入的值
如何获取combogrid手动输入的值
Android 中如何获取editText文本信息
在Android中有许多写法创建事件处理方法,我们常用的是Android:onClick 属性来指定,另一种方法是使用内层类创建监听器对象。 如上面的图所示如何从editText1获取输入的信息? 如上所示:EditText editText1 =(EditText) findViewById (R.id.editText1); c=Integer.parseInt(editText
如何网站判断访问来源是PC还是手机?
除了根据手机类型或者浏览器内核判断之外还有没有别的方法?rn 比如根据访问来源屏幕大小之类的?
如何判断来源网址是网站的网址还是邮件
我想推广网站,Request.UserHostAddress知道来人从哪来,但是不知道如何区分是从网站帖子等地来的,还是通过邮件群发来的,怎么能分析出来呢?有人说链接参数不一致,但是如果有人作弊把要发论坛的帖子的链接放邮件群发里了,还是不行呀。 请问各位大侠, 能实现吗,怎么实现呀。
Android无EditText时获取扫描设备的扫描结果
无EditText时在Activity中增加以下内容即可获得扫描的结果 String barcode =""; @Override public boolean dispatchKeyEvent(KeyEvent event) { if(event.getAction()==KeyEvent.ACTION_DOWN){ Log.e(TAG...
如何判断数据是上升还是下降
有一组数据,rndate_1, count_1rn2014-12-01, 1rn2014-12-02,3rn2014-12-03,5rn2014-12-04,3rn2014-12-05,2rn2014-12-06,1rn2015-01-01,5rn2015-01-02,4rn2015-01-03,3rnrn怎么写SQL判断出,数据是上升还是下降状态?rn希望结果rndate_1, count_1,status_1rn2014-12-01, 1,上升rn2014-12-02,3,上升rn2014-12-03,5,上升rn2014-12-04,3,下降rn2014-12-05,2,下降rn2014-12-06,1,下降rn2015-01-01,5,上升rn2015-01-02,4,下降rn2015-01-03,3,下降rnrn谢谢!
如何判断EDITTEXT中字符串长度?
char strString[64]=0;rn GetDlgItemText(hwnd,idc,strString,sizeof(strString));rn如果EDITTEXT中的字符串长度大于strString,那么如何判断?
如何判断按钮来源??????
如何有三个按钮或是更多的按钮在一个form里提交,如何判断事件源是哪个?????????????
如何判断访问来源?
一个后台系统,既有面向app的json输出,也有面向pc的html输出。rn如何判断访问的来源?rn通过php代码自动判断,还是让前端带上参数判断,还是使用不同的url。这些都可以实现,一般是采用哪种方法的,想看下经验之谈。
Android listview获取EditText数据(评价留言)
1、获取listview子控件方法 private ListView commitList; for (int i = 0; i &amp;lt; commitList.getChildCount(); i++) { LinearLayout layout = (LinearLayout) commitList.getChildAt(i);// 获得子item的layout Ed...
Android中获取在AlertDialog 中的EditText 的内容是崩溃
[code=java]package com.example.myclient;rnrnimport android.app.Activity;rnimport android.app.AlertDialog;rnimport android.app.Dialog;rnimport android.content.Context;rnimport android.content.DialogInterface;rnimport android.os.Bundle;rnimport android.view.LayoutInflater;rnimport android.view.Menu;rnimport android.view.MenuItem;rnimport android.view.View;rnimport android.widget.Button;rnimport android.widget.EditText;rnimport android.widget.LinearLayout;rnrnrnpublic class MainActivity extends Activity rn private String targetIP = "123.456.789.147";rn private int target_port_number = 0;rn private Button ConnectButton;rn private EditText EntryIP_EditView;rn private EditText EntryPort_EditView;rn rn @Overridern protected Dialog onCreateDialog(int id) rn switch(id)rn rn case 1:rn return buildDialog3(MainActivity.this);rn rn return null;rn rnrn @Overridern protected void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.activity_main);rn rn ConnectButton = (Button)findViewById(R.id.Button03);rn rn rn @SuppressWarnings("deprecation")rn public void onConnectButtonClicked(View v)rn rn showDialog(1);rn rn rn private Dialog buildDialog3(Context context) rn rn LayoutInflater inflater = LayoutInflater.from(this);rn final View textEntryView = inflater.inflate(R.layout.text_entry, null);rn EntryIP_EditView = (EditText)textEntryView.findViewById(R.id.Entry_Ip_view);rn EntryPort_EditView = (EditText)textEntryView.findViewById(R.id.Entry_Port_view);rn AlertDialog.Builder builder = new AlertDialog.Builder(context);rn builder.setIcon(R.drawable.alert_dialog_icon);rn builder.setTitle("输入IP地址和端口号");rn builder.setView(textEntryView);rn builder.setPositiveButton("确定",rn new DialogInterface.OnClickListener() rn public void onClick(DialogInterface dialog, int whichButton) rn rn rn //EntryIP_EditView.getText().toString().trim();rn //target_port_number = Integer.parseInt(EntryPort_EditView.getText().toString());rn setTitle("Target IP:" + targetIP );rn rn );rn builder.setNegativeButton("取消",rn new DialogInterface.OnClickListener() rn public void onClick(DialogInterface dialog, int whichButton) rn //setTitle("您刚才点击了对话框上的取消按钮");rn rn );rn return builder.create();rn rn rnrnrn @Overridern public boolean onCreateOptionsMenu(Menu menu) rn // Inflate the menu; this adds items to the action bar if it is present.rn getMenuInflater().inflate(R.menu.main, menu);rn return true;rn rnrn @Overridern public boolean onOptionsItemSelected(MenuItem item) rn // Handle action bar item clicks here. The action bar willrn // automatically handle clicks on the Home/Up button, so longrn // as you specify a parent activity in AndroidManifest.xml.rn int id = item.getItemId();rn if (id == R.id.action_settings) rn return true;rn rn return super.onOptionsItemSelected(item);rn rnrn[/code]rnrn
JAVA如何获取扫描仪器扫描的数据?
JAVA如何获取扫描仪器(扫描枪)扫描的数据?
android获取应用程序判断是系统程序还是应用程序并且判断在sd卡中还是内存中
//获取到包的管理者         PackageManager packageManager = context.getPackageManager();         //获取到安装包         List installedPackages = packageManager.getInstalledPackages(0);  for (PackageInfo instal
android 如何在自定义对话框中获取edittext中的数据
在项目中忽然遇到这样的问题,需要自定义对话框,对话框需要有一个输入框,以便修改所选中的价格,然后点击确定之后,修改所显示的价格。遇到的最大的问题就是如何能够获取到自定义对话框当中edittext输入的数值,百度了很久,看到的答案都是如下: //得到自定义对话框 final View DialogView = a .inflate ( R.layout.loand, null);Lay
Android GPS获取的经纬度如何判断获取的是东经还是西经,南纬还是北纬
如题,Android中通过GPS类和接口获取的经纬度如何判断是东经还是西经,南纬还是北纬?
如何获取事件来源
窗体form1,form2分别通过单击按钮创建同一个窗体form3;我如何判断form3建立来自于单击哪个窗体的按钮?rn我目前的想法是单击按钮时传递一个全局变量来辨别,有没有办法通过事件源来获得,如何实现
贺利坚的课程教学链接
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 汇编语言程序设计汇编语
怎么判断 NaN 的 如何判断数据是 String 还是 int
怎么判断 NaN 的 如何判断数据是 String 还是 int
如何连接数据来源
studio 2005培训课件
nodejs判断请求来源是手机端还是电脑端访问
一般请求都会有个request对象和response对象,对应请求和响应,我么只需要拿到请求头的user-agent 属性基本就可以判断是手机或者电脑了,代码如下 var deviceAgent = request.headers[&quot;user-agent&quot;].toLowerCase(); var agentID = deviceAgent.match(/(iphone|ipod|ipa...
如何判断是键盘输入的数据还是读卡器输入的数据
各位老师rn因为读卡器用的也是键盘口,所以不好区分是键盘输入还是读卡器输入,
如何判断读入文件的数据是数据还是字符
现在想写一个函数统计txt文件里的字符和数字的个数,不知道怎么统计,如果用file.get()是否可以实现。高手们给点意见或建议吧,给个方法或者提个函数都可以,程序我自己搞定,谢谢啦!
android 判断获取相册图片是横向还是纵向
请问各路大神,android 如何判断相册图片是横向还是纵向?
android判断EditText字母开头
android判断EditText字母开头 String str = edInput.getText().toString(); if(Character.isLetter(str.charAt(0))){      //用char包装类中的判断字母的方法判断每一个字符                       }
Android中点击事件的来源
本文将分以下在步骤寻找android中事件的来源: 一、activity启动时 创建window以及windowManager的过程。 二、调用setContentView设置布局的过程 三、Activity在onResume之后创建ViewRootImp将window和DecorView关联的过程 四、创建InputChanel 发送给InputManagerService进行注册的过程
C#判断获取的是文件夹还是文件
if(File.Exists(path)) { // 是文件 } else if(Directory.Exists(path)) { // 是文件夹 } else { // 都不是 }
Android中怎样获取动态添加EditText的内容
RT,在Android中如何获得动态添加EditText的输入文本内容?
js中数据的来源
[img=https://img-bbs.csdn.net/upload/201311/05/1383621649_943769.jpg][/img]rnrn我想做curl模拟,可是无法等到上图最后一行value后面给的值"81GF431SU3...",我想知道js中是从哪获取到的啊,该怎么获取啊?膜拜前辈指点迷津!!
Android获取USB扫描枪扫描数据
Android获取USB扫描枪扫描数据。Android 平板热插拔USB扫描枪应用场景多,在有界面如EditText时,扫描枪扫描内容自动输入到编辑框了,在没有界面的情况下如何获取扫描枪数据呢。AccessibilityService不了解的同学看看http://www.jianshu.com/p/4cd8c109cdfb
请教COleDragDrop如何判断来源?
我的程式里有两个相同的控件, 有dragdrop的功能rn可是当OnDrop时 我想判断来源是哪个控件,或者是从程式外面来的rn请问有啥方法可以判断吗?
如何判断键盘消息的来源?
在键盘钩子已经做好了,但是我想在钩子处理过程中判断,键盘消息是哪个程序引起的,有什么办法做到吗?
请问如何判断页面来源
比如会员注册时有很多条件限制,客户端把源码下来改掉限制就可进行注册,应该在表单处理页判断提交页面的来源,请问具体该如何写呀?有现成的例子吗
如何通过IP判断来源?
我知道this.Request.ServerVariables["REMOTE_ADDR"]是用来获得访问者的IP地址的,rn但我不想某类IP比如我只想手机IP访问。可以区分吗?
android edittext获取选中文字
http://blog.23corner.com/2010/04/20/building-android-on-mac-os-x-10-6/ http://www.citymoments.cn/home/download http://lichen1985.com/blog/?p=144 http://code.google.com/p/simple-iphone-i...
Android 获取EditText里的内容
第一次接触EditText,以为提交之后在另一个activity里可以用 EditText per_name_edit = findViewById(R.id.per_name_edit); String name = per_name_edit.getText().toString(); 获取到编辑框里的内容,事实证明不行。 在本activity里 @Overrid
如何判断引用页的来源?
一个页面有如下功能rnrnhttp://www.aaa.com/mmm.htmrnhttp://www.aaa.com/nnn.htmrn都有对于http://www.aaa.com/qqq.asp的连接rnrn如果点http://www.aaa.com/mmm.htm上的连接则出现的页面qqq.asp正常显示。点http://www.aaa.com/nnn.htm上的则显示一个图片。rnrn用判断引用页的方法如何实现?
如何判断网页访问者的来源?
用referer可以判断是否通过别的网页上的链接访问目的网页。rn那么,如果用户是通过IM工具或其他软件上的链接访问的,能有方法获取到来源么?
Android之获取 设置EditText的文本
Android之获取 设置EditText的文本
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数