私のプロセスは、Handler. を使用して UI スレッドの ProgressBar を更新しますが、このようなエラーが発生します。
null オブジェクト参照の .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(メッセージ);