java - Android Studio FutureTask 在 for 循环中只执行一次

标签 java android-studio

我正在尝试执行一项任务并等待它完成,一切正常,但是当我尝试在 for 循环内执行相同操作时,FutureTask仅执行一次:

for(int i = 0; i < days.length; i++){
            
 /* 
     actions to get an array called arr, 
     but in this code I will just put 20 on this second for loop 
  
 */

  for(int i2 = 0; i2 < 20; i2++){
                
    Runnable action = new Runnable() {
                    @Override
                    public void run() {
                        //when I add this line which is add a view to a relative layout, it executes only once
                        RelativeLayout main_layout = v.findViewById(R.id.main);
                        main_layout.addView(a_view);
/////////////////////////////////////////////////////////////////////////
                        Log.i("Message" , "Executed");
                    }
                };

    RunnableFuture<Void> task = new FutureTask<>(action , null);
    v.post(task);
    task.get();

  }
}

该任务只执行一次,应该重复 20 次,那么可能是什么问题?

最佳答案

经过大量测试,我终于解决了这个问题,我唯一要做的就是删除最后一行 task.get()

所以代码将是这样的:

for(int i = 0; i < days.length; i++){


 /* 
     actions to get an array called arr, 
     but in this code i will just put 20 on this second for loop 

 */

  for(int i2 = 0; i2 < 20; i2++){

    Runnable action = new Runnable() {
                    @Override
                    public void run() {
                       layout, it excute only once
                        RelativeLayout main_layout = v.findViewById(R.id.main);
                        main_layout.addView(a_view);

                        Log.i("Message" , "Executed");
                    }
                };

    RunnableFuture<Void> task = new FutureTask<>(action , null);
    v.post(task);

    //task.get();  removed

  }
}

关于java - Android Studio FutureTask 在 for 循环中只执行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62313774/

相关文章:

java - 如何使用 JRadioButtons 更改组合框

java - struts2 中的 jasperreports

android - 在 gradle 文件中声明/使用变量 - 在 java 中使用它

java - CardView 列表不在我的应用程序中滚动

java - Android Studios 的 LoginActivty 模板(最新版本) 在继续下一个 Activity 之前需要验证用户名和密码

android - 链接自定义.so库时,链接器失败

java - 使用嵌入式容器测试 EJB。我怎样才能登录?

java - 从数组执行的操作

java - 如何在 JAR 文件之外读取或写入 .properties 文件

java - Android Studio 表示未安装 JDK 7,而 JDK 8 甚至已安装