Đặt giá trị mặc định bằng 0 cho edittext nhập vào


Chào mọi người, minh có làm 1 app Android trên Androidstudio sử dụng ngôn ngữ java như hình.
mình nhập các edittext vào các ô edittext 1,2,3,4 rồi nhấn button để hiển thị kết quả là các phép tính (tổng, tích ) ra ở text
tuy nhiên lúc lập trình. mình chạy chương trình thì phải nhập đủ 4 edittext thì nó mới chạy chứ nhập không đủ thì nó không chạy. cho mình hỏi làm sao để khắc phục lỗi này ạ.
vào để cho nó hiểu nếu mình không nhập thì mặc định nó là 0 ạ. mình xin cám ơn

nếu không nhập vào đủ 11 lon như dưới thì lỗi app

---------------------------------------code của mình ạ---------------------------

package com.example.test2;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import org.w3c.dom.Text;

import java.text.DecimalFormat;

public class thitlon extends AppCompatActivity {

    EditText lon1,lon2,lon3,lon4,lon5,lon6,lon7,lon8,lon9,lon10,lon11;
    Button btquydoilon;
    TextView textxoloc1,textnac2;

    DecimalFormat currency = new DecimalFormat("###,###.##");

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

        btquydoilon = findViewById(R.id.btquydoilon);
        lon1 = findViewById(R.id.lon1);
        lon2 = findViewById(R.id.lon2);
        lon3 = findViewById(R.id.lon3);
        lon4 = findViewById(R.id.lon4);
        lon5 = findViewById(R.id.lon5);
        lon6 = findViewById(R.id.lon6);
        lon7 = findViewById(R.id.lon7);
        lon8 = findViewById(R.id.lon8);
        lon9 = findViewById(R.id.lon9);
        lon10 = findViewById(R.id.lon10);
        lon11 = findViewById(R.id.lon11);
        textxoloc1 = findViewById(R.id.textxoloc1);
        textnac2 = findViewById(R.id.textnac2);

        btquydoilon.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                thitxoloc();
                thitnac();

            }
        });
    }

    private void thitxoloc() {
        double tlon1 = Integer.parseInt(lon1.getText().toString());
        double tlon2 = Integer.parseInt(lon2.getText().toString());
        double tlon3 = Integer.parseInt(lon3.getText().toString());
        double tlon4 = Integer.parseInt(lon4.getText().toString());
        double tlon5 = Integer.parseInt(lon5.getText().toString());
        double tlon6 = Integer.parseInt(lon6.getText().toString());
        double tlon7 = Integer.parseInt(lon7.getText().toString());
        double tlon8 = Integer.parseInt(lon8.getText().toString());
        double tlon9 = Integer.parseInt(lon9.getText().toString());
        double tlon10 = Integer.parseInt(lon10.getText().toString());
        double tlon11 = Integer.parseInt(lon11.getText().toString());
        double thitxoloc = ((tlon5 + tlon6 +tlon7) * 0) + (tlon1 * 0.5) + (tlon2 * 0.6) + (tlon3 * 0.67) + (tlon4 * 0.6) + tlon8 + (tlon9 * 0.25) + (tlon10 * 0.3) + tlon11;
        textxoloc1.setText("THỊT XÔ LỌC: " + currency.format(thitxoloc) + " kg.");
    }

    private void thitnac() {
        double tlon1 = Integer.parseInt(lon1.getText().toString());
        double tlon2 = Integer.parseInt(lon2.getText().toString());
        double tlon3 = Integer.parseInt(lon3.getText().toString());
        double tlon4 = Integer.parseInt(lon4.getText().toString());
        double tlon5 = Integer.parseInt(lon5.getText().toString());
        double tlon6 = Integer.parseInt(lon6.getText().toString());
        double tlon7 = Integer.parseInt(lon7.getText().toString());
        double tlon8 = Integer.parseInt(lon8.getText().toString());
        double tlon9 = Integer.parseInt(lon9.getText().toString());
        double tlon10 = Integer.parseInt(lon10.getText().toString());
        double tlon11 = Integer.parseInt(lon11.getText().toString());
        double thitnac = (tlon1 * 0.5) + (tlon2 * 0.4) + (tlon3 * 0.33) + (tlon4 * 0) + (tlon5 * 0.6) + (tlon6 * 0.3) + tlon7 + tlon8 + (tlon9 * 0.25) + (tlon10 * 0.3) + tlon11;
        textnac2.setText("THỊT XÔ LỌC: " + currency.format(thitnac) + " kg.");
    }


}

thì if/else thôi, nếu không điền thì bỏ qua

2 Likes

bạn có thể hướng dẫn mình cụ thể hơn được không ạ? mình chưa hiểu lắm ạ

If else gì ở đây, gợi ý v r sao ng ta làm đc, thấy còn dùng cả đống biến kìa, chắc chưa học đến mảng.



Thử như trong này xem:

  • dùng setHint()
  • dùng setText()

Mềnh kb thế nào, nên cứ thử lần lượt đi. Thêm lonX.setHint("0") hay lonX.setText("0") sau khi khởi tạo ấy. :v

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?