Отображение только одного текстового представления в всплывающем окне - PullRequest
0 голосов
/ 26 марта 2019

Приложение принимает пользовательский ввод на первом экране, а при нажатии кнопки «Отправить» отображает только «кредитный лимит» и форматы для этих TextView Я указываю, но не суммы. Я вынул некоторые переменные для этого, но он компилируется и работает отлично, просто не показывает расчеты.

Попытался сделать некоторую переменную глобальной и пришел к выводу, что это должно быть вопросом чего-то, что не подходит? TextViews взять форматирование, которое доказывает мне, что выходной код в порядке, может быть, что-то в данных, которыми обмениваются?

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

    intRateInput    = findViewById(R.id.intRateInput);
    limitInput      = findViewById(R.id.limitInput);
    balanceInput    = findViewById(R.id.balanceInput);


    Button submitButton = findViewById(R.id.submitButton);

    submitButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {


        Intent passData = new Intent(MainActivity.this, Popup.class);


        dLimit = valueOf(limitInput.getText().toString());                                      //TAKE USER INPUT FROM MAIN SCREEN
        passData.putExtra("limitInput", dLimit);                                            //PASS INPUT TO POP-UP


            dBalance    =   valueOf(balanceInput.getText().toString());                             //TAKE USER INPUT FROM MAIN SCREEN
            passData.putExtra("balanceInput", dBalance);                                       //PASS INPUT TO POP-UP


            dIntRate    =   valueOf(intRateInput.getText().toString());                             //TAKE USER INPUT FROM MAIN SCREEN
            passData.putExtra("intRateInput", dIntRate);                                        //PASS INPUT TO POP-UP
            startActivity(passData);}

Это второй код для PopupWindow, отображающий пользовательский ввод. Он получает информацию, переданную через Intent, и я надеюсь, что я сделал это правильно. Приложение компилируется и работает правильно, но показывает только «исходный баланс», но не остаток TextViews.

Может ли кто-нибудь взглянуть на код, чтобы помочь мне выяснить, где я не работаю правильно?

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


    Intent passData = getIntent();
    dCurrentLimit = passData.getDoubleExtra("limitInput", dLimit);
    dCurrentBal = passData.getDoubleExtra("balance", dBalance);
    dCurrentIntRate = passData.getDoubleExtra("intRateInput", dIntRate);

    Calculate();

}

public void Calculate(){

    int     iDays   =   30;


    TextView minMonPay = findViewById(R.id.minMonPay);
    TextView textClose = findViewById(R.id.textclose);
    TextView cashFlowRec = findViewById(R.id.cashFlowRec);
    TextView origMonPayCal = findViewById(R.id.origMonPayCal);
    TextView origBalIn = findViewById(R.id.origBalIn);

    DecimalFormat currency = new DecimalFormat ("$#,###.00");
    currency.setRoundingMode(RoundingMode.UP);

    //double  monthly     =   (dBalance * dActRate) / iMonth;
    //double  result      =   (dBalance * dActRate) / iMonth / iDays;

    dMinDailyCharge     =   dCurrentBal * dInterest / iMonth;

    dInterest           =   dCurrentIntRate / dPercent;
    dOrigMonCharge      =   dCurrentBal * dInterest / iMonth;


    minMonPay.setText(currency.format(dMinMonthlyCharge));
    origMonPayCal.setText(currency.format(dBalance));                                               //SHOW ORIGINAL MONTHLY INTEREST CHARGE
    origBalIn.setText(currency.format(dCurrentLimit));                                              //SHOW ORIGINAL BALANCE

1 Ответ

0 голосов
/ 26 марта 2019

Насколько я вижу код, вы передаете неправильный ключ, чтобы получить сумму баланса.в первом фрагменте кода, который вы передали passData.putExtra("balanceInput", dBalance); и вы собираете значение несуществующего ключа dCurrentBal = passData.getDoubleExtra("balance", dBalance);, обратите внимание на ключ, который вы используете.

и рекомендуется инициализировать все виджеты, которые вы использовали при созданииактивность.переместите все findViewById в метод onCreate и попробуйте снова.дайте мне знать, если это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...