如何在IntentService中调用findViewById?

时间:2013-05-13 05:20:58

标签: android intentservice

有没有办法在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

我该如何解决这个问题?

0 个答案:

没有答案