Android从另一个类调用方法

时间:2012-05-28 15:38:27

标签: java android class android-activity call

我知道这个问题已经重复,但我无法在互联网上找到答案。

我想从另一个类调用一个方法。

我是Class1和Class2。

在第2课我有那种方法:

public void UpdateEmployee(){
    //some code
}

我想从Class1调用该方法。

感谢您的回答。

---- ---- EDIT

final Button btnUpdate = (Button)findViewById(R.id.btnUpd);
   btnUpdate.setOnClickListener(new View.OnClickListener() {      
     public void onClick(View v) {
             Employee updEmple = new Employee();
             updEmple.UpdateEmployee();      

    }
    });

---- --- logcat中

05-28 16:30:44.030: E/AndroidRuntime(25198): FATAL EXCEPTION: main
05-28 16:30:44.030: E/AndroidRuntime(25198): java.lang.NullPointerException: println    needs a message
05-28 16:30:44.030: E/AndroidRuntime(25198):    at android.util.Log.println_native(Native Method)
05-28 16:30:44.030: E/AndroidRuntime(25198):    at android.util.Log.v(Log.java:116)
05-28 16:30:44.030: E/AndroidRuntime(25198):    at   and.net.Employee.UpdateEmployee(Employee.java:77)
05-28 16:30:44.030: E/AndroidRuntime(25198):    at and.net.AndActivity$2.onClick(AndActivity.java:51)
05-28 16:30:44.030: E/AndroidRuntime(25198):    at android.view.View.performClick(View.java:2485)
05-28 16:30:44.030: E/AndroidRuntime(25198):    at android.view.View$PerformClick.run(View.java:9080)
05-28 16:30:44.030: E/AndroidRuntime(25198):    at android.os.Handler.handleCallback(Handler.java:587)
05-28 16:30:44.030: E/AndroidRuntime(25198):    at android.os.Handler.dispatchMessage(Handler.java:92)
05-28 16:30:44.030: E/AndroidRuntime(25198):    at android.os.Looper.loop(Looper.java:123)
05-28 16:30:44.030: E/AndroidRuntime(25198):    at android.app.ActivityThread.main(ActivityThread.java:3683)
05-28 16:30:44.030: E/AndroidRuntime(25198):    at java.lang.reflect.Method.invokeNative(Native Method)
05-28 16:30:44.030: E/AndroidRuntime(25198):    at java.lang.reflect.Method.invoke(Method.java:507)
05-28 16:30:44.030: E/AndroidRuntime(25198):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-28 16:30:44.030: E/AndroidRuntime(25198):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-28 16:30:44.030: E/AndroidRuntime(25198):    at  dalvik.system.NativeStart.main(Native Method)

4 个答案:

答案 0 :(得分:58)

您应该使用以下代码:

Class2 cls2 = new Class2();
cls2.UpdateEmployee();

如果您不想创建新实例来调用该方法,则可以将该方法转换为static,然后您只需调用Class2.UpdateEmployee()

答案 1 :(得分:5)

在Class1中:

Class2 inst = new Class2();
inst.UpdateEmployee();

答案 2 :(得分:5)

并且,如果您不想实例化Class2,请将UpdateEmployee声明为static并将其调用为:

Class2.UpdateEmployee();

但是,你通常想要做@parag说的话。

答案 3 :(得分:-6)

在MainActivity中添加它。

Intent intent = new Intent(getApplicationContext(), Heightimage.class);
startActivity(intent);
相关问题