加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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]);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读