gpt4 book ai didi

android - editbox lostfocus 在错误的 edittext 框上触发

转载 作者:行者123 更新时间:2023-11-29 00:48:53 26 4
gpt4 key购买 nike

我有一个带有 2 个编辑文本框的简单应用程序。当在第一个框中输入输入时,将执行一组计算。如果将输入输入另一个,则会发生一组不同的计算。

因此,如果在第一个框 etBox1 中键入了一个数字,并且用户离开了该框,则使用第一个框的数据计算结果并将其放入第二个框。如果在第二个框 etBox2 中键入了一个数字,则该数据将用于计算第一个框的值。

我试过:

final EditText etBox1 = (EditText) findViewById(R.id.etBox1) 
final EditText etBox2 = (EditText) findViewById(R.id.etBox2)

etBox1.setOnFocusChangeListener(new View.OnFocusChangeListener()
{
@override
public void onFocusChange(View v, boolean lostfocus)
{
if (lostFocus == true)
{ //do my calculations....}

当焦点给予 etBox1 而不是等待框失去焦点时会触发。这会导致应用程序崩溃,因为用户还没有机会在框中输入数字。任何想法为什么这表现为“hasFocus”而不是“lostFocus”? Android 网站上的 lostFocus 上没有可用的文档。

最佳答案

在你的问题中,你有这个。

final EditText etBox1 = (EditText) findViewById(R.id.etBox1);
final EditText etBox1 = (EditText) findViewById(R.id.etBox1);

您在映射文本框时使用相同的 ID。我想它应该是这样的:

final EditText etBox1 = (EditText) findViewById(R.id.etBox1);
final EditText etBox2 = (EditText) findViewById(R.id.etBox2);

更不用说你的代码也会出现编译错误,因为你定义了 etBox1 两次......
(除非这只是您问题中的错字,并且您的代码实际上看起来不同......)

关于android - editbox lostfocus 在错误的 edittext 框上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4685791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com