lor*_*tol 52 android broadcastreceiver android-intent android-context
我想从Context获取视图或findViewById()?还是从意图?
我试图在我的广播接收器中到达特定视图,onReceive的参数是上下文和意图.
好吧,我有一个班级,其中是我的广播接收器.现在,我正在尝试将广播接收器与它分开,但我需要一种方法,这样我仍然可以从我的分离广播接收器类中与我的类上的视图进行通信.
谢谢.
小智 61
例如,您可以找到任何textView:
TextView textView = (TextView) ((Activity) context).findViewById(R.id.textView1);
Run Code Online (Sandbox Code Playgroud)
sam*_*mis 56
从上下文开始,可以通过相关活动的根视图
View rootView = ((Activity)_context).Window.DecorView.FindViewById(Android.Resource.Id.Content);
Run Code Online (Sandbox Code Playgroud)
在原始Android中,它看起来像:
View rootView = ((Activity)mContext).getWindow().getDecorView().findViewById(android.R.id.content)
Run Code Online (Sandbox Code Playgroud)
然后只需在此调用findViewById即可
View v = rootView.findViewById(R.id.your_view_id);
Run Code Online (Sandbox Code Playgroud)
在您的广播接收器中,您可以通过膨胀从XML资源的根布局访问视图,然后使用findViewByid()从此根布局中查找所有视图:
View view = View.inflate(context, R.layout.ROOT_LAYOUT, null);
Run Code Online (Sandbox Code Playgroud)
现在,您可以通过"查看"访问您的视图,并将其投射到您的视图类型:
myImage = (ImageView) view.findViewById(R.id.my_image);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
87286 次 |
| 最近记录: |