我可以从非 Activity-Class 访问 Activity Class 的变量、方法吗?
Can I access variables, methods of an Activity Class from a Non-Activity-Class?
我想从另一个 class 操作我的 activity class 的某些功能。因为我的activityclass代码越来越多,后面比较难理解
这是activityclass
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!");
}
}
这里是非activityclass
NonActivityClass.java
public class NonActivityClass {
//can I access the variables and methods from here
}
我怎样才能从这个非activity class访问activity class的全局或私有字段?
我已经解决了这个问题,使用 oop 概念和 static 关键字
我使用了一个 java class 和一个 Activity.I 在 Activity 中创建了 Java class 对象来调用和访问 class 像这样的方法和变量
这是我的代码:
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;
}
}
在这个 class 中,我创建了一些静态或非静态变量和一些方法,如 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);
}
}
在这个 activity 中,首先我创建了 java class 对象并使用该对象调用变量和方法。还有一些静态方法直接调用。
如果您尝试从任何 java class 获取数据到 activity 中,请尝试此代码。
我想从另一个 class 操作我的 activity class 的某些功能。因为我的activityclass代码越来越多,后面比较难理解
这是activityclass
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!");
}
}
这里是非activityclass
NonActivityClass.java
public class NonActivityClass {
//can I access the variables and methods from here
}
我怎样才能从这个非activity class访问activity class的全局或私有字段?
我已经解决了这个问题,使用 oop 概念和 static 关键字
我使用了一个 java class 和一个 Activity.I 在 Activity 中创建了 Java class 对象来调用和访问 class 像这样的方法和变量
这是我的代码:
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;
}
}
在这个 class 中,我创建了一些静态或非静态变量和一些方法,如 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);
}
}
在这个 activity 中,首先我创建了 java class 对象并使用该对象调用变量和方法。还有一些静态方法直接调用。 如果您尝试从任何 java class 获取数据到 activity 中,请尝试此代码。