Как умножить значение textview, когда кнопка увеличивается? - PullRequest
1 голос
/ 19 мая 2019

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

image

На этом изображении, если я нажму кнопку +, количество заказов будет равно 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));


}

Ответы [ 2 ]

1 голос
/ 19 мая 2019

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

  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));
    }
});
0 голосов
/ 19 мая 2019

Для этого вам не нужно использовать 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));
        }
    });

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

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