Добавить целое число из другого класса в textView - PullRequest
1 голос
/ 08 апреля 2019

В классе MainActivity у меня есть TextView, и я хочу, чтобы он был заполнен целым числом из другого класса.Целое число является результатом некоторых вычислений базы данных.Как я могу установить текст TextView с целым числом sum из другого класса?Спасибо!

MainActivity TextView :

valFormula.setText( here I need to pass the sum Integer);

И это класс, в котором я вычисляю значение суммы:

public class CalculateItems extends AppCompatActivity {
        MyDBHandler myDb;
        String timeStamp = String.valueOf(TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis()));
        int sum;

    public void myResult() {
                List<Integer> items = new ArrayList<>();
                myDb = new MyDBHandler(this);
                Cursor cursor = myDb.getItemsToday();
                if (cursor !=null) {
                        while (cursor.moveToNext()) {
                                int timeWhenAdded = cursor.getInt(1);
                                int timePassed = Integer.parseInt(timeStamp) - timeWhenAdded;
                                int price = total - (int) ((percentageToDecrease / 100) * discount);
                                items.add(price);
                        }
                }
                //This is the variable that I want to have it displayed in the textView:
                sum = 0;
                for (int i : items)
                        sum += i;
        }

1 Ответ

3 голосов
/ 08 апреля 2019

Обычно вы не должны обновлять представления другого действия.Если вам нужно просто что-то вычислить, создайте статический метод

public class CalculateItems {
    public static int myResult() {
        int sum = 0;
        List<Integer> items = new ArrayList<>();
        MyDBHandler myDb = new MyDBHandler(this);
        Cursor cursor = myDb.getItemsToday();
        if (cursor !=null) {
            while (cursor.moveToNext()) {
                int timeWhenAdded = cursor.getInt(1);
                int timePassed = Integer.parseInt(timeStamp) - timeWhenAdded;
                int price = total - (int) ((percentageToDecrease / 100) * discount);
                items.add(price);
            }
        }
        for (int i : items)
            sum += i;
        return sum;
    }
}

и вызывайте его из основного действия, когда вам это нужно

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