Java 如何在Android中以编程方式创建和重新创建视图 private void generateView(){ 对于(int i=0;i

Java 如何在Android中以编程方式创建和重新创建视图 private void generateView(){ 对于(int i=0;i,java,android,Java,Android,这是我的代码,我能够创建前5个视图,并将它们的颜色从灰色更改为黑色。我正在尝试重新创建相同的视图和相同的进程,当它到达第五个位置视图时,相同的进程应该发生,直到停止线程。有人能建议我怎么做吗?您需要删除所有添加的视图,并将其重新添加到我们必须在线程中写入此内容的位置,或者您可以告诉我@surya我们必须在哪里应用一些condition@Adevelopment:相同的过程应该一直持续到停止线程请共享崩溃日志显示yaar我们需要一些应用条件,因为如果我们有应用条件,我将如何重新创建视图并继续从灰色

这是我的代码,我能够创建前5个视图,并将它们的颜色从灰色更改为黑色。我正在尝试重新创建相同的视图和相同的进程,当它到达第五个位置视图时,相同的进程应该发生,直到停止线程。有人能建议我怎么做吗?

您需要删除所有添加的视图,并将其重新添加到我们必须在线程中写入此内容的位置,或者您可以告诉我@surya我们必须在哪里应用一些condition@Adevelopment:
相同的过程应该一直持续到停止线程
请共享崩溃日志显示yaar我们需要一些应用条件,因为如果我们有应用条件,我将如何重新创建视图并继续从灰色到黑色重新启动您需要在UIThread上执行所有视图操作,请在Android站点上阅读有关UIThread的信息
 private void generateView() {
        for (int i = 0; i < 5; i++) {
            mview = new View(getActivity());
            mview.setBackgroundResource(R.color.grayColor);
            LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
                    10, 40);
            layoutParams.setMargins(5, 0, 5, 0);
            mview.setLayoutParams(layoutParams);
            lnLinearlayout.addView(mview);
            changeProgress();
        }
    }


    public void changeProgress()

    {

        new Thread(new Runnable() {
            @Override
            public void run() {
                    // Update the progress status

                    for (int i = 0; i < lnLinearlayout.getChildCount() - 1; i++) {
                        final int finalI = i;
                        progressStatus = i;
                        // Try to sleep the thread for 20 milliseconds
                        try {

                            Thread.sleep(1000);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }

                        // Update the progress bar
                        handler.post(new Runnable() {
                            @Override
                            public void run() {
                                lnLinearlayout.getChildCount();
                                     lnLinearlayout.getChildAt(finalI).setBackgroundResource(R.color.blackcolor);


                            }

                        });

                    }
                }

        }).start(); // Start the operation
    }