如何在 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 你可以得到两个值并相减。
有很多方法可以做到这一点。
- 查看模型
- 单例
- 在启动新活动的 Intent 中传递它
我正在努力学习 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 你可以得到两个值并相减。
有很多方法可以做到这一点。
- 查看模型
- 单例
- 在启动新活动的 Intent 中传递它