66

Context からビューまたは findViewById() を取得したいですか? それとも意図から?

ブロードキャスト レシーバーで特定のビューに到達しようとしていますが、onReceive のパラメーターはコンテキストとインテントです。

クラスがあり、その中にブロードキャスト レシーバーがあります。今、ブロードキャストレシーバーを分離しようとしていますが、分離されたブロードキャストレシーバークラスからクラスのビューと通信できるようにする方法が必要です。

ありがとう。

4

5 に答える 5

75

たとえば、任意の textView を見つけることができます。

TextView textView = (TextView) ((Activity) context).findViewById(R.id.textView1);
于 2015-09-05T12:52:58.273 に答える
7

ブロードキャスト レシーバーでは、XML リソースからルート レイアウトをインフレーションしてビューにアクセスし、findViewByid() を使用してこのルート レイアウトからすべてのビューを見つけることができます。

View view = View.inflate(context, R.layout.ROOT_LAYOUT, null);

これで、「ビュー」を介してビューにアクセスし、それらをビュー タイプにキャストできます。

myImage = (ImageView) view.findViewById(R.id.my_image);
于 2012-10-29T02:03:01.943 に答える