java - 如何保存变量值?

标签 java android

该程序旨在存储余额,并在我输入新收入时增加值(value),并在我输入新费用时减少值(value)。但是,当我输入费用时,我的余额值变为负数,就好像每当我开始费用 Activity 时整数 Bal 都会重置为 0。

    //Buttons
    btnExpense = (Button)findViewById(R.id.btnExpense);
    btnExpense.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent expenseIntent = new Intent(Mainmenu.this, expenses.class);
            startActivity(expenseIntent);
        }
    });

    btnIncome = (Button)findViewById(R.id.btnIncome);
    btnIncome.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent incomeIntent = new Intent(Mainmenu.this, Income.class);
            startActivity(incomeIntent);
        }
    });



    Intent startIntent = getIntent();
    Intent RecordExpense = getIntent();
    int Expense = RecordExpense.getIntExtra("intExpense", 0);
    Intent RecordIncome = getIntent();
    int Income = RecordIncome.getIntExtra("intIncome", 0);

    int Bal = startIntent.getIntExtra("intBalance", 0);


        TextView tvResult=(TextView) findViewById(R.id.tvResult);
        tvResult.setText(Bal +"");
        if(getIntent().hasExtra("intIncome")) {
            Bal=Bal+Income;

            tvResult.setText(Bal + "");
        }
        if(getIntent().hasExtra("intExpense")) {

            Bal=Bal-Expense;
            tvResult.setText(Bal + "");
        }

每当我输入 10 作为 Bal,5 作为费用时,我预计会显示 5,但它显示 -5

最佳答案

看来您的“Bal”是您从“startIntent”获取的局部变量。更新后,您不会将“Bal”设置回“startIntent”。所以在'startIntent'中它的值始终为0。并且每次收入和支出操作都是在0上进行的。

您需要在 Intent 类中定义一个方法来更新“intBalance”中的余额。 startIntent.setIntExtra("intBalance", Bal);

关于java - 如何保存变量值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57068795/

相关文章:

java - 创建的字符串对象计数

android - jetpack compose 是否使用 drawable-night 文件夹?

android - 如何更改计时器的格式?

android - 如何知道组件在其父组件中可以承担的大小?

java - Android 操作栏不会显示

android - 在 Ubuntu 18.04 上 react 原生 Android 模拟器错误

java - 列表函数作为 Java 中的选择

java - Titan-1.0.0+Hbase-0.98.20使用java远程模式连接错误

java - 如何将日期字符串转换为日期或日历对象?

java - 改变JTable中一个单元格的背景颜色