如何在 android 应用程序中将整数从一个 activity 传递给另一个

How to pass an integer from one activity to another in android application

我正在努力学习 android 但我不知道如何将数据从一个 activity 传递到另一个

 public void onNextClick(View view){
    Intent intent = new Intent(this,Expenses.class);
    intent.putExtra(EXTRA_SUM, sum);
    startActivity(intent);

    editSalary = (EditText) findViewById(R.id.salayText);
    editIncome = (EditText) findViewById(R.id.incomeText);
    salary = Integer.parseInt(editSalary.getText().toString());
    income = Integer.parseInt(editIncome.getText().toString());
    sum = salary + income;
}


    public void onNextClick2(View view){
    Intent intent2 = new Intent(Expenses.this,Budget.class);
    intent2.putExtra(EXTRA_EXPENSE, expense);
    startActivity(intent2);

    editRent = (EditText) findViewById(R.id.rentText);
    editBills = (EditText) findViewById(R.id.billsText);
    editEveryday = (EditText) findViewById(R.id.everydayText);
    editOther = (EditText) findViewById(R.id.otherText);
    rent = Integer.parseInt(editRent.getText().toString());
    bills = Integer.parseInt(editRent.getText().toString());
    everyday = Integer.parseInt(editEveryday.getText().toString());
    other = Integer.parseInt(editOther.getText().toString());
    expense = rent + bills + everyday + other;
}


    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_budget);

    Intent intent = getIntent();
    summary =  intent.getIntExtra(MainActivity.EXTRA_SUM ,0);
    expenses = intent.getIntExtra(Expenses.EXTRA_EXPENSE, 0);
    totalBudget = summary - expenses;
    textBudget = (TextView) findViewById(R.id.budgetView);
    textBudget.setText(String.valueOf(totalBudget));
}

我正在尝试从 activity 1 中获取“总和”并从 activity 2 中获取“费用”并在 activity 3 中减去它们,但我一直得到 null

您不能将值从第一个 activity 传递到第三个 activity directly.First,您必须将它传递给 first-> second 然后 second-> third

否则有一个简单的解决方案,比如您可以将其存储在 Shared Preferences 从第一个 activity 移动到第二个 activity.Then 时,在共享偏好上存储总和值 当您从第二个移动到第三个 activity.After 时,在 onCreate 方法中存储共享偏好上的费用值第三个 activity 你可以得到两个值并相减。

有很多方法可以做到这一点。

  1. 查看模型
  2. 单例
  3. 在启动新活动的 Intent 中传递它