Zaid Daghest..

33

振作起来.并尝试密切关注,这将作为开发者非常宝贵.

虽然循环真的应该只在一个单独的线程中实现.单独的线程就像在您的应用中运行的第二个进程.强制关闭的原因是因为你在UI线程中运行循环,使得UI无法执行任何操作,除了通过该循环.您必须将该循环放入第二个Thread中,以便UI Thread可以自由运行.线程化时,除非您在UI线程中,否则无法更新GUI.以下是在这种情况下如何完成.

首先,创建一个Runnable,它将包含在其run方法中循环的代码.在该Runnable中,您必须创建一个发布到UI线程的第二个Runnable.例如:

TextView myTextView = (TextView) findViewById(R.id.myTextView); //grab your tv

Runnable myRunnable = new Runnable() {

@Override

public void run() {

while (testByte == 0) {

Thread.sleep(1000); // Waits for 1 second (1000 milliseconds)

String updateWords = updateAuto(); // make updateAuto() return a string

myTextView.post(new Runnable() {

@Override

public void run() {

myTextView.setText(updateWords);

});

}

}

};

接下来,使用Runnable创建您的线程并启动它.

Thread myThread = new Thread(myRunnable);

myThread.start();

您现在应该看到您的应用程序循环而没有强制关闭.

很高兴为您服务.确保在成为专业人士时分享知识.:d (4认同)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐