java - 如何从一个 Activity 访问另一个类的用户输入?

标签 java android android-studio static android-edittext

我有一个名为 ParticleActivity 的 Activity 在我的 Android Studio 中项目。

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());

userSolutionbatteryLevel声明,以便其他类可以访问这些字段中的用户输入, 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 访问用户输入的唯一方法(根据我对 EditText 的了解)。 ParticleActivity 中的字段这样它就可以用在我的customUseCase中类(class)。有人可以给我一个好方法来写这个吗?谢谢。

最佳答案

尝试使用 Intent 类及其 putExtra 方法 请参阅此处的文档 https://developer.android.com/reference/android/content/Intent.html

使用示例

Intent i = new Intent(ParticleActivity.this,CustomUseCase.class)
                     i.putExtra("myShow","one");

然后在您的 CustomUseCase 类上

Intent i=getIntent();
String show=i.getStringExtra("myShow");

关于java - 如何从一个 Activity 访问另一个类的用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43281213/

相关文章:

android-studio - Android Studio的vector assets "physically"位于哪里

java - MySQL 数据库连接不工作

java - eclipse- "show in project explorer"选项不起作用

java - 断言可迭代的每个元素都匹配给定匹配器的惯用 Hamcrest 模式是什么?

Android JNI 异常处理

android - 堆上未释放的内存会怎样?

android - 是否可以编写无需外部应用程序即可发送电子邮件的代码?

android - 在 Android Studio 中创建第二个 Activity

java - 使用 GWT 设置数据库

java - Java中删除字符串中多余的逗号