Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.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
Android 如何一个接一个地执行该功能?_Android_Multithreading_Synchronized - Fatal编程技术网

Android 如何一个接一个地执行该功能?

Android 如何一个接一个地执行该功能?,android,multithreading,synchronized,Android,Multithreading,Synchronized,我使用MPChart绘制多重图表。我想让它一个接一个地画出来 因此,我使用以下代码: private class ChartThread implements Runnable{ String[] list; String TAG; private ChartThread (String[] list , String TAG) { this.list= list; this.TAG = TAG;

我使用
MPChart
绘制多重图表。我想让它一个接一个地画出来

因此,我使用以下代码:

private class ChartThread implements Runnable{
        String[] list;
        String TAG;
        private ChartThread (String[] list , String TAG) {
            this.list= list;
            this.TAG = TAG;
        }

        @Override
        public void run() {
            synchronized(this) {
                mActivity.runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        showOnMPChart(list , TAG);
                    }
                });
            }
        }
    }
并使用以下代码调用线程:

    ChartThread  myRunnable1 = new ChartThread (getStringArray1(),TAG_mpchart_first);
    Thread myThread1=new Thread(myRunnable1);
    myThread1.start();

    ChartThread  myRunnable2 = new ChartThread (getStringArray2(),TAG_mpchart_second);
    Thread myThread2=new Thread(myRunnable2);
    myThread2.start();

    ChartThread  myRunnable3 = new ChartThread (getStringArray3(),TAG_mpchart_third);
    Thread myThread3=new Thread(myRunnable3);
    myThread3.start();
当我只调用
图表线程一次时,它就是工作。
但是当我通过上面的代码调用线程三次时,它失败了。
但它并没有逐一绘制图表。我错过什么了吗


提前感谢。

我不确定创建新线程有什么意义,但是您正在从UI线程(即主线程)调用该方法


mActivity.runOnUiThread-->它将使您的showOnMPChart在主线程上被调用。您可以逐个调用shownmpchart方法。

为什么不能连续调用
shownmpchart
3次?