Могу ли я получить доступ к переменным, методам класса деятельности из не-класса активности? - PullRequest
0 голосов
/ 23 марта 2019

Я хочу управлять некоторыми функциями моего класса активности из другого класса.Потому что мое число кодов в классе активности увеличивается и его трудно понять позже.

Это класс активности

MainActivity.java

public class MainActivity extends AppCompatActivity {

    private int number = 7;
    public String name = "arafat";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        printSomething();
    }

    private void printSomething() {
        System.out.println("Hello, World!");
    }
}

, а воткласс неактивности

NonActivityClass.java

public class NonActivityClass {
    //can I access the variables and methods from here
}

Как я могу получить доступ к глобальным или закрытым полям класса активности из этого класса неактивности?

1 Ответ

0 голосов
/ 25 марта 2019

Я решил эту проблему, использую концепцию oop и статическое ключевое слово

У меня есть один Java-класс и один Activity.У меня есть объект Java-класса в Activity для вызова и доступа к методам и переменным класса, подобным этому

Это мой код:

public class NonActivityClass {
 String Myname = "demo";
static String  Myfullname = "";

public static void setName(String name) {
    Myfullname = name;
}

public  String getName() {
    Log.e("check_value","working");
}
public static String getFullName() {
    return Myfullname;
}
}

В этом классе я создал некоторую статическую или не статическую переменную, а также некоторые методы, такие как getname (), setname () и getFullname ();

MainActivity.java

import android.os.Bundle;
 import android.support.v7.app.AppCompatActivity;
 import android.util.Log;

 import static com.example.rdprojects.NonActivityClass.Myfullname;
 import static com.example.rdprojects.NonActivityClass.getFullName;


 public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

  //create NonActivityClass object
    NonActivityClass myclass = new NonActivityClass();

       myclass.getName();

    //call static variable
    Myfullname = "demo demo";
    String fullname = getFullName();

    Log.e("check_full_name", "" + fullname);

}


}

В этом упражнении прежде всего я создал объект класса java и использую этот объект для вызова переменной и метода. и некоторые статические вызовы метода напрямую. если вы пытаетесь получить данные из любого Java-класса в действии, попробуйте этот код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...