Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android等待函数_Java_Android - Fatal编程技术网

Java android等待函数

Java android等待函数,java,android,Java,Android,我有两个类A和B。我在类A中,我调用了类B中的一个函数,其中一个按钮被初始化。单击按钮时,x的值变为true,而最初为false。在执行类A中的下一条语句之前,类B中的x的值应该为true。 我尝试了B.wait,但它返回异常。 是否仍要这样做?您可以使用AsyncTask类。 在“预执行”功能中,初始化x和按钮或任何内容,在“后执行”中,执行您想做的任何事情。您可以尝试添加如下内容: while (B.x == false) { try { Thread.sleep(50); } ca

我有两个类A和B。我在类A中,我调用了类B中的一个函数,其中一个按钮被初始化。单击按钮时,x的值变为true,而最初为false。在执行类A中的下一条语句之前,类B中的x的值应该为true。 我尝试了B.wait,但它返回异常。
是否仍要这样做?

您可以使用AsyncTask类。
在“预执行”功能中,初始化x和按钮或任何内容,在“后执行”中,执行您想做的任何事情。

您可以尝试添加如下内容:

while (B.x == false) {
    try { Thread.sleep(50); } catch (Exception e) {}
    // Sleeping is necessary to prevent high CPU usage
}

无论如何,您不应该在UI线程中使用此选项,因为它可能导致ANR应用程序没有响应

请考虑发布实际代码,以便我们更好地了解问题。类A是活动,类B是片段吗?类A是活动,类B是CustomGridView。。我在gridview中使用类B中的gridAdapter创建按钮。在类A中创建在buttons onClick方法中调用的方法。使用等待UI线程时要小心,因为这看起来像是应用程序挂起到用户身上,android会提示用户关闭任何挂起5秒钟的应用程序。我仍然建议使用实际代码编辑您的帖子。是否有必要单击该按钮以将x设置为真?可能你可以在初始化按钮后将其设置为真。使用AsyncTack将帮助你,试试看。找到一些教程并根据需要进行更改。