0

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

我该如何解决这个问题?

4

0 回答 0