java如何从一个活动访问另一个类的用户输入?
在我的Android Studio
项目中,我有一个名为ParticleActivity
的活动
public class ParticleActivity extends AppCompatActivity {
public final static String EXTRA_MESSAGE = "pso.algo.MESSAGE";
private ProgressDialog pd;
private double[] results = {-1.0, -1.0, -1.0};
EditText particles = (EditText) findViewById(R.id.particles);
EditText iterations = (EditText) findViewById(R.id.iterations);
static EditText solution;
public static double userSolution = Double.parseDouble(solution.getText().toString());
static EditText battery;
public static double batteryLevel = Double.parseDouble(battery.getText().toString());
声明了userSolution
和batteryLevel
,以便另一个类customUseCase
可以访问这些字段中的用户输入
public class CustomUseCase extends Test {
public ArrayList<Double> costData = MainActivity.costDATA; //costs that the user enters for each resource
public ArrayList<Double> costWlan = MainActivity.costWLAN;
public ArrayList<Double> costUtilities = MainActivity.costUTILITY;
public double batteryCost = ParticleActivity.batteryLevel; //battery cost user enters
public double userSolution = ParticleActivity.userSolution; //user's predicted solution
private int maxIter;
private int noParticles;
我知道这不是一种编写代码的好方法,因为它在Android Studio
上说我会出现内存泄漏,因为Android
组件不应该声明为静态变量。但这是唯一的方法(从我对Android
的一点了解来看),我可以考虑从ParticleActivity
中的EditText
字段访问用户输入,以便在我的customUseCase
类中使用。有人能给我一个好方法我可以写出来吗?谢谢
# 1 楼答案
我理解您试图将值传递给非活动,但意图不起作用。 为什么不使用共享首选项来存储和更新值呢
# 2 楼答案
尝试使用
Intent
类及其putExtra
方法 看到这里的文档了吗 https://developer.android.com/reference/android/content/Intent.html示例用法
然后在你的CustomUseCase课程上