我想从上下文的观点或findViewById()? 或意图是什么?
我想在我的广播接收器到达特定视图的onReceive的参数是上下文和意图。
嗯,我有一个类,并在它是我的广播接收器。 现在,我想给广播接收机从中分离出来,但我需要一种方法,所以我仍然可以从我分开广播接收器类上我的课的意见沟通。
谢谢。
我想从上下文的观点或findViewById()? 或意图是什么?
我想在我的广播接收器到达特定视图的onReceive的参数是上下文和意图。
嗯,我有一个类,并在它是我的广播接收器。 现在,我想给广播接收机从中分离出来,但我需要一种方法,所以我仍然可以从我分开广播接收器类上我的课的意见沟通。
谢谢。
例如,你可以找到任何的TextView:
TextView textView = (TextView) ((Activity) context).findViewById(R.id.textView1);
与上下文开始,相关联的活动的根视图可以通过有
View rootView = ((Activity)_context).Window.DecorView.FindViewById(Android.Resource.Id.Content);
在原始的Android它会是这个样子:
View rootView = ((Activity)mContext).getWindow().getDecorView().findViewById(android.R.id.content)
然后,只需调用findViewById在这
View v = rootView.findViewById(R.id.your_view_id);
在你的广播接收器,你可以通过通货膨胀从XML资源访问视图根布局,然后找到这个根布局findViewByid()所有的意见吧:
View view = View.inflate(context, R.layout.ROOT_LAYOUT, null);
现在,您可以通过“查看”访问你的观点,并将它们投射到您的视图类型:
myImage = (ImageView) view.findViewById(R.id.my_image);
第一次使用这样的:
LayoutInflater inflater = (LayoutInflater) Read_file.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Read file is current activity in which you want your context.
View layout = inflater.inflate(R.layout.your_layout_name,(ViewGroup)findViewById(R.id.layout_name_id));
那么你可以用它来查找布局的任何元素。
ImageView myImage = (ImageView) layout.findViewById(R.id.my_image);
你为什么不只是使用一个单身?
import android.content.Context;
public class ClassicSingleton {
private Context c=null;
private static ClassicSingleton instance = null;
protected ClassicSingleton()
{
// Exists only to defeat instantiation.
}
public void setContext(Context ctx)
{
c=ctx;
}
public Context getContext()
{
return c;
}
public static ClassicSingleton getInstance()
{
if(instance == null) {
instance = new ClassicSingleton();
}
return instance;
}
}
然后在活动类:
private ClassicSingleton cs = ClassicSingleton.getInstance();
而在非活动类:
ClassicSingleton cs= ClassicSingleton.getInstance();
Context c=cs.getContext();
ImageView imageView = (ImageView) ((Activity)c).findViewById(R.id.imageView1);