私は、C# .NET と Android を使用して多くのソフトウェアを開発してきました。両方のシステムがThread
UI control
(Label/TextView など) で同じ動作をすることに気付きました。そのために、設計がスレッド外の変更を防止するのは偶然ではないと思います。
Text
人々が抱えている最も一般的な問題は、作成されたスレッドの外で変更 (プロパティなど) できないことです。Invoke
C# で使用するかHandler
、Androidで使用する必要があります。
私の質問は、なぜコントロールがそのような動作を実装する必要があるのですか? それらが作成されたスレッドの外でプロパティ/フィールドを変更できるとしたら、どのような問題が発生する可能性がありますか?
編集:ご参照いただきありがとうございます。私はすでにその一部を知っており、この質問に対する私の主な関心事は、スレッドプールのスレッドが UI スレッドで実行されていないのはなぜですか? コントロールのプロパティ/フィールドにアクセスできないのですか? AndroidView
は実際にはただの POJO ですよね?もしそうなら、どのスレッドでも問題なくアクセスできると思います。私が何か間違ったことを言った場合は明確にしてください。