我的进程使用 Handler 更新了 UI 线程中的 ProgressBar。但它给出了这样的错误。
.Handler.sendMessage(android.os.Message)' 在空对象引用
上请检查我的代码
public class MainActivity extends AppCompatActivity {
Handler handler;
Thread thread;
ProgressBar prb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
prb=(ProgressBar) findViewById(R.id.progress);
thread=new Thread(new MyThread());
thread.start();
handler=new Handler(){
@Override
public void handleMessage(Message msg) {
prb.setProgress(msg.arg1);
}
};
}
class MyThread implements Runnable{
@Override
public void run() {
for (int i=1;i<10;i++) {
Message message = Message.obtain();
message.arg1=i;
handler.sendMessage(message);
try {
thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
它清楚地表明错误是在这里形成的,
handler.sendMessage(消息);