Как умножить значение textview при увеличении кнопки?

В настоящее время я работаю над проектом в firebase, и мне было интересно, как умножить значение, пока кнопка увеличивается. Например, у меня есть это изображение

Как умножить значение textview при увеличении кнопки?

На этом изображении, если я нажму кнопку +, количество заказов будет равно 1, и оно будет увеличиваться, пока я не нажму кнопку -. Внизу есть значение 1,00. Например, каждый раз, когда кнопка нажимается, она становится равной 1, а также умножается текстовое представление, равное 1,00. Затем, если кнопка увеличивается, это будет 2x1,00, что равно 2,00.

Это код, который я сделал до сих пор

public class Detailsoforder extends AppCompatActivity {

private static final String TAG = "AddToDatabase";
private static int click = 0;

private TextView titles;
private TextView increase;
private TextView Price;
private int count = 0;

//add Firebase
private FirebaseDatabase mFirebaseDatabase;
private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener mAuthListener;
private DatabaseReference myRef;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_detailsoforder);

    titles = findViewById(R.id.Order);
    increase = findViewById(R.id.Increase);
    Price = findViewById(R.id.Price);
    String title = getIntent().getStringExtra("title");
    String price = getIntent().getStringExtra("description");

    titles.setText(title);
    Price.setText(price);


    mAuth = FirebaseAuth.getInstance();
    mFirebaseDatabase = FirebaseDatabase.getInstance();
    myRef = mFirebaseDatabase.getReference();

    mAuthListener = new FirebaseAuth.AuthStateListener() {
        @Override
        public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
            FirebaseUser user = firebaseAuth.getCurrentUser();
            if (user != null) {
                // User is signed in
                Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getUid());
            } else {
                // User is signed out
                Log.d(TAG, "onAuthStateChanged:signed_out");
            }
        }
    };

    // Read from the database
    myRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            Object value = dataSnapshot.getValue();
            Log.d(TAG,"Value is"+value);
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });
}

public void onIncreaseClick(View view) {

    String price = Price.getText().toString();
    int result = Integer.parseInt(price);
    count++;
    increase.setText(String.valueOf(count));
    Price.setText(String.valueOf(count*result));


}
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
218
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Для этого вам не нужно использовать count vaariable и все остальное, вы можете сделать это непосредственно с текстовым представлением, как в этом примере.

Установите текст в текстовое представление 0 по умолчанию, затем получите этот текст при нажатии кнопки + и добавьте 1 в него и снова установите значение для текстового представления.

TextView textView = findViewById(R.id.textview);
textView.setText("0");

Button plus = findViewById(R.id.plus);
plus.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
           int number = Integer.parseInt(textView.getText().toString().trim());
           number = number+1;
           textView.setText(String.valueOf(number));
        }
    });

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

Хорошо, я попробую. Спасибо.

Josh Pool 19.05.2019 10:40

Сможет ли это умножить значение? что такое 1.00?

Josh Pool 19.05.2019 10:42

Да, конечно, и если это не сработает, скажи мне, что мы найдем другой способ сделать это.

Rajat Kumar Tyagi 19.05.2019 10:42

Да, если мы хотим, мы тоже можем умножить значение, просто нужно изменить номер строки = число * 1

Rajat Kumar Tyagi 19.05.2019 10:43

Хм, не знаю, правильно ли я делаю, но приложение вылетает

Josh Pool 19.05.2019 10:51

Вы покажете ошибку, которую вы сможете увидеть в журналах, чтобы я мог лучше понять это.

Rajat Kumar Tyagi 19.05.2019 11:27

Спасибо за ответ. Теперь проблема решена. Я очень ценю ваш ответ.

Josh Pool 19.05.2019 11:50

Добро пожаловать Так же, как мой ответ

Rajat Kumar Tyagi 19.05.2019 12:03
Ответ принят как подходящий

используйте этот код

  Button plus = findViewById(R.id.plus);
  plus.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
       // for orders numbers
       int number = Integer.parseInt(ordersTextView.getText().toString().trim());
       number = number+1;
       ordersTextView.setText(String.valueOf(number));
      // for total cost 
       Float cost =  Float.parseFloat(costTextView.getText().toString().trim())*number;
       costTextView.setText(String.valueOf(cost));
    }
});

Для уменьшения, что я должен положить на него?

Josh Pool 19.05.2019 11:03

Для уменьшения просто замените number = number+1; по номеру = номер-1;

Amin 19.05.2019 11:38

Другие вопросы по теме