有没有办法findViewById
在 IntentService 内部调用?就我而言,我尝试使用 MainActivity 类的静态引用。但它没有用。
MainActivity 类调用 IntentService:
public static MainActivity mA;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mA=this;
startService(new Intent(this,MyService.class).setAction("MyIntent"));
}
MyService 类是:
protected void onHandleIntent(Intent intent) {
if(intent.getAction()=="MyIntent"){
ListView lv=(ListView)(MainActivity.mA.findViewById(R.id.listView));
Toast.makeText(getApplicationContext(), (MainActivity.mA.findViewById(R.id.listView)).toString(), Toast.LENGTH_LONG).show();
}
}
这会产生 NullPointerException。我在服务类中验证了 MainActivity.mA 是否正常。但是,我仍然不能打电话findViewById
。
我该如何解决这个问题?