0

好的,当涉及到 java 类时,我是一个完整的新手。我有一个公共方法,可以动态显示一些带有一些东西的线性布局。例如这个方法(public void methodA)在 ClassA.java 中,那么我想从 ClassB.java 中调用 methodA。这两个类都扩展了 Activity,并且在 OnCreate 方法中调用了 methodA。

ClassA.java

public class ClassA extends Activity{

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        methodA();
    }
    public void methodA() {
        //Do Stuff
        /* This uses:
        * Package Manager 
        * Buttons using(this)
        * Linear Layouts using(this)
        * TextViews using(this)
        * findViewById()
        * startActivity
        */
    }

}

ClassB.java

public class ClassB extends Activity{

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        methodA(); //How do I do this
    }
}
4

2 回答 2

1

我很清楚,该方法特定于第一个活动,这意味着不应在第二个活动中调用它。您可以在第二个活动中重新实现该方法,或者,如果这些活动相似(如果它们不相似,请不要这样做!),您有两个选择:

  • 从第一个活动继承第二个活动。
  • 将这两个活动合并为一个,并使用不同的意图来启动它们并采取相应的行动。

第二种方法更容易维护,所以在更简单的情况下,我更喜欢第一种方法。

于 2013-08-04T09:51:51.013 回答
0

在 B 类中创建 A 类的实例,然后您可以从 B 类调用 MethodA

公共类 ClassB 扩展 Activity{

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //MethodA(); //How do I do this
    ClassA  a=new ClassA ();
    a.MethodA();
}

}

于 2013-08-04T09:49:53.220 回答