如何从一个Activity调用非静态方法到另一个Activity

Mah*_*ati 5 android android-activity

我有两个活动,我想从B调用一个方法清楚.我尝试这样,我得到空指针异常.

class A extends Activity {
    ...
    public void clear(){}

}

class B extends Activity{
    public void clearData() {
        A a=new A();
        a.clear();
    }        
}
Run Code Online (Sandbox Code Playgroud)

Ama*_*ver 18

class A extends Activity{
static A instance;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    instance = this;
}

public static A getInstance() {
    return instance;
}
....
public void clear(){}

}
Run Code Online (Sandbox Code Playgroud)

在B级:

class B extends Activity {
  public void  clearData(){
      A a = A.getInstance();
      a.clear();
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 好的解决方案,我不知道可以像这样调用“非静态方法”。我不知道为什么人们会拒绝这样的答案。 (2认同)