Ed *_*ton 3 java android android-edittext
我是一名长期,自学成才的业余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;
}
Run Code Online (Sandbox Code Playgroud)
请记住,我对此很新,我常常不确定在哪里放置代码片段以使它们工作(新文件?oncreate方法?谁知道).您可以给予我任何指导,我将非常感激和永远感激.
让我们按部分去做:
abstract void onFocusChange(View v, boolean hasFocus)然后还有一些:
我和你一样是自学者,所以我现在感觉到你的痛苦,现在你想开始使用android时我想给你一些建议:你添加了两个标签:java和
安卓.用于桌面的java编码与为Android设备编码完全不同,因此请考虑到这一点.你真的要用java编写代码还是只用android代码?除了API中的一些明显差异外,主要区别在于用户交互.大多数java程序都期望全键盘和静态屏幕,而Android应用依赖于触摸,这是一个关键的区别.
触摸很重要,因为通常在没有焦点增益的情况下没有丢失焦点.一个典型的EditText将在IME上用手指填充,并且View将保持焦点,直到同一个手指触及另一个View(可能是EditText,可能是一个Button)."窗口"外通常没有点击.
另一方面,在Android设备中,您期望单个用户,而不是桌面上未知数量的用户.因此,保存数据并检索数据的处理方式完全不同(例如,请参阅使用"保存实例状态"保存Android活动状态)
您可以选择捕获焦点的获得/失去以执行操作,或者等到单击按钮,或者甚至使用其他方法(例如TextWatcher将数据保存在每个字符输入上).因此,您有很多选项可以设计您的应用.困难的部分是巧妙地设计.
祝好运!