Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.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.lang.IllegalThreadStateException?_Java_Android_Multithreading_Android Thread - Fatal编程技术网

如何修复java.lang.IllegalThreadStateException?

如何修复java.lang.IllegalThreadStateException?,java,android,multithreading,android-thread,Java,Android,Multithreading,Android Thread,在我的应用程序中,我想在倒计时中使用一个线程,为此我编写了以下代码 但在几秒钟后运行应用程序时,在LogCat中显示错误。 我的代码: @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_au

在我的应用程序中,我想在倒计时中使用一个线程,为此我编写了以下代码

但在几秒钟后运行应用程序时,在LogCat中显示错误。

我的代码:

    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_auction_detail_bid, null);
        new CountDownTimer(newCalculateTime, 1000) {

            public void onTick(long millisUntilFinished) {
                if (millisUntilFinished / 1000 <= newCanOfferBeforeTime) {
                    Constants.currentActivity.runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            getlast6BidData();
                        }
                    });
                }
            }

            public void onFinish() {

            }

        }.start();

return v;
}

    private void getlast6BidData() {
        thread = new Thread() {
            @Override
            public void run() {
                getUpdateBidsList(Constants.detailAuctionGmodel.getRes().getDetail().getCalculate_end());
                try {
                    sleep(last6RunStartTimer);
                    getlast6BidData();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

            }
        };
        thread.start();
    }
E/UncaughtException: java.lang.IllegalThreadStateException
                                                                            at java.lang.Thread.start(Thread.java:722)
                                                                            at com.app.android.Fragments.AuctionDetailBidFragment.getlast6BidData(AuctionDetailBidFragment.java:744)
                                                                            at com.app.android.Fragments.AuctionDetailBidFragment.access$100(AuctionDetailBidFragment.java:73)
                                                                            at com.app.android.Fragments.AuctionDetailBidFragment$12.run(AuctionDetailBidFragment.java:737)

我怎样才能修好它

试试这个方法,只需检查您的线程是否处于活动状态或未使用该方法

编辑

getActivity().runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            getlast6BidData();
                        }
                    });

@NileshRathod,你能帮我查一下密码吗?请接受,但不要向我工作,并再次向我显示上述错误:(请同时尝试此
getActivity().runOnUiThread(new Runnable()
@fghj如何使用此选项?是否可以向我发送带有新帮助的更新代码?@fghj检查更新的ans
getActivity().runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            getlast6BidData();
                        }
                    });