有没有办法在IntentService中调用findViewById
?在我的例子中,我尝试使用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
。
我该如何解决这个问题?