24

I know that this Question is repeated but I can't find the answer in the Internet.

I want to call a method from another class.

I have Class1 and Class2.

In Class 2 I have this method:

public void UpdateEmployee(){
    //some code
}

I want to call the above method from Class1.

Thanks for any answer.

----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)
vitaliis
  • 4,082
  • 5
  • 18
  • 40
HaOx
  • 1,839
  • 6
  • 26
  • 36

4 Answers4

75

You should use the following code :

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

In case you don't want to create a new instance to call the method, you can decalre the method as static and then you can just call Class2.UpdateEmployee().

Vadim Kotov
  • 8,084
  • 8
  • 48
  • 62
eric.itzhak
  • 15,752
  • 26
  • 89
  • 142
8

In Class1:

Class2 inst = new Class2();
inst.UpdateEmployee();
Vadim Kotov
  • 8,084
  • 8
  • 48
  • 62
Parag Chauhan
  • 35,760
  • 13
  • 86
  • 95
6

And, if you don't want to instantiate Class2, declare UpdateEmployee as static and call it like this:

Class2.UpdateEmployee();

However, you'll normally want to do what @parag said.

Charlie-Blake
  • 10,832
  • 13
  • 55
  • 90
-7

Add this in MainActivity.

Intent intent = new Intent(getApplicationContext(), Heightimage.class);
startActivity(intent);
Jessie Ka
  • 141
  • 1
  • 2
  • 4