java – 捕获EditText丢失焦点
发布时间:2020-12-15 08:40:55 所属栏目:Java 来源:网络整理
导读:我是一名长期,自学成才的业余VB程序员,现在正在尝试自学 Java和 Android.我这样说,所以你会知道我不会说好语言,而且对这两种追求都是非常新的. 我开发了一个Android表单,其中包含一系列EditText框,每个框的内容都要在用户填写后保存到数组中.如果用户按下Ent
我是一名长期,自学成才的业余VB程序员,现在正在尝试自学
Java和
Android.我这样说,所以你会知道我不会说好语言,而且对这两种追求都是非常新的.
我开发了一个Android表单,其中包含一系列EditText框,每个框的内容都要在用户填写后保存到数组中.如果用户按下Enter键,我已经想出了如何做到这一点.但是,人们实际上并没有这样做:他们点击框,键入,然后单击下一个元素. 我VB,我可以为lostfocus事件编写代码.但我在Java中找不到类似的方法. 最后一个问题:是否有一种方法可以捕获EditText失去焦点的时间,因此我可以在不依赖Enter键的情况下保存该类型的类型数据? public boolean onKey(View v,int keyCode,KeyEvent event) { if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)){ Editable wasted=edittext_asset.getText(); vehdata[vehNo][Integer.parseInt((String) edittext_asset.getTag())]=wasted.toString(); return true; } return false; } 请记住,我对此很新,我常常不确定在哪里放置代码片段以使它们工作(新文件?oncreate方法?谁知道).您可以给予我任何指导,我将非常感激和永远感激. 解决方法
我刚刚做了类似的事情.我通过创建一个for循环来处理它,它只是通过id获取每个edittext的内容并将它的文本添加到数组中.我在onclick方法中做了这个,因为我在用户点击按钮后完成了所有操作.
String ohhai; String duh = et.getText().toString(); int number = Integer.parseInt(duh); List<String> myCollection=new ArrayList<String>(); EditText stuff; int editt; String loggy; for(int z = 0; z < number; z++){ stuff = (EditText)findViewById(z); editt = stuff.getId(); loggy = Integer.toString(editt); Log.e("How Many",loggy); ohhai = stuff.getText().toString(); myCollection.add(ohhai); } String [] arr = myCollection.toArray(new String[myCollection.size()]); String separator = "0"; StringBuffer result = new StringBuffer(); if (arr.length > 0) result.append(arr[0]); for (int h=1; h < arr.length; h++) { result.append(separator); result.append(arr[h]); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |