質問: (やりたい処理) ボタンを押したあと、別スレッドでの処理を行い、その結果をtextViewに反映する またRunnableをActivityに実装する (()や{}が続いてコードが読みにくくなるため) 上記のようなことをしたいのですが、コードの書き方がさっぱりわかりません 下のサイトを参考にしながら、runnnableをActivityに実装しない方法ではできたのですが 実装すると書き方がわからなくなります Androidプログラミング完全入門 10章Handlerとサービス 具体的にはThreadのrunとHandlerのrunをそれぞれどのように書けばよいかで混乱しています よければ具体例を示しながら教えていただけると助かります また、正直まだThreadとHandlerが完全に理解できていないので、わかりやすいサイト などがあれば教えていただけるとありがたいです
回答: 結論から言えば、同じクラスで全て実装するというのは**すべきでないです**。 `Thread`も`Handler`も同じ`Runnable`のメソッドを取るので、両方に`Activity implements Runnable`を渡した場合、**同じメソッドが呼ばれます**。これを変える方法はありません。 ということで、「()や{}が続いてコードが読みにくくなる」のを避けようとして書こうとすれば、本来不要な「`Thread`からか`Handler`からかの呼び出しを見分けて分岐する」という処理が必要になってしまい、プログラムの動作に不必要な複雑さを増やしてしまうだけです。