Android Вызов метода из другого класса

Я знаю, что этот Вопрос повторяется, но я не могу найти ответ в Интернете.

Я хочу вызвать метод из другого класса.

Я "Класс 1 и Класс 2".

В классе 2 я использую этот метод:

public void UpdateEmployee(){
    //some code
}

Я хочу вызвать этот метод из Class1.

Спасибо за любой ответ.

----РЕДАКТИРОВАТЬ----

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)
 eric.itzhak28 мая 2012 г., 19:17
покажите свой код UpdateEmployee, проблема в том, что вы пытаетесь напечатать что-то, что не установлено

Ответы на вопрос(4)

Решение Вопроса

Вы должны использовать следующий код:

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

В случае, если вы не хотите создавать новый экземпляр для вызова метода, вы можете объявить метод какstatic и тогда ты можешь просто позвонитьClass2.UpdateEmployee().

 eric.itzhak28 мая 2012 г., 18:26
Отредактируйте свой вопрос и опубликуйте журнал
 Wraithious08 сент. 2017 г., 20:36
Все очень просто, но не забудьте в классе 2 добавить ссылку, или класс 1 даже не скомпилируется. открытый класс Class2 расширяет AppCompatActivity {открытый класс 2 () {}
 eric.itzhak28 мая 2012 г., 18:20
На какой строчке и когда ты пытаешься использовать статическую или обычную?
 HaOx28 мая 2012 г., 18:24
Я использую его OnClickButton. Employee updEmple = new Employee (); updEmple.UpdateEmployee ();
 HaOx28 мая 2012 г., 18:12
Я получаю NullPointerExeption.

если вы не хотите создавать экземпляр Class2, объявите UpdateEmployee как статический и вызовите его так:

Class2.UpdateEmployee();

Однако вы обычно захотите сделать то, что сказал @parag.

 FlorianB18 окт. 2016 г., 00:51
нормально ... потому что иначе у тебя не будет доступа к переменным.

В классе 1:

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

Добавьте это в MainActivity.

Intent intent = new Intent(getApplicationContext(), Heightimage.class);
startActivity(intent);
 JCoder04 авг. 2015 г., 20:55
Он хочет вызвать метод из другого класса, а не начинать действие ...

Ваш ответ на вопрос