簡體   English   中英

如果 editText 為空,如何敬酒消息?

[英]how to toast a message if editText is empty?

我試圖在單擊按鈕時顯示一條消息,告訴用戶填寫空白字段。 目前,如果該字段為空白,它會崩潰/強制關閉應用程序。 我需要的標准是為攝氏度/華氏度選項和 toast 消息設置微調器(如果微調器都在同一選項上或值為空)

這是代碼

public class MainActivity extends AppCompatActivity {

        private TextView result;
        private EditText enterTemp;
        double result0;

        Spinner ConvertFromUnitTypeSpinner;
        Spinner ConvertToUnitTypeSpinner;


        @Override

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

        //set spinner variables

        ConvertFromUnitTypeSpinner = (Spinner) findViewById(R.id.ConvertFromUnitTypeSpinner);
        ConvertToUnitTypeSpinner =  (Spinner) findViewById(R.id.ConvertToUnitTypeSpinner);

        //String for spinner items
        String [] unitTypes =  {"Fahrenheit", "Celsius"};

        //set up adapter for the layout of the spinner
        ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<>(this,      
         android.R.layout.simple_list_item_1, unitTypes);

        //set up adapter to spinner
        ConvertFromUnitTypeSpinner.setAdapter(spinnerAdapter);
        ConvertToUnitTypeSpinner.setAdapter(spinnerAdapter);

        //set up convert button
        Button convert = findViewById(R.id.convert);
        result = findViewById(R.id.result);
        enterTemp = findViewById(R.id.enterTemp);


        convert.setOnClickListener(new View.OnClickListener(){
            @SuppressLint("SetTextI18n")
            @Override
            public void onClick (View v) {
                double temp = Double.parseDouble(enterTemp.getText().toString());

            if(ConvertFromUnitTypeSpinner.getSelectedItem()=="Fahrenheit"&&
             ConvertToUnitTypeSpinner.getSelectedItem().toString()=="Celsius")
                {
                    result0 = (temp - 32 )*5/9;
                    result.setText(String.valueOf(result0));
                }
           if(ConvertFromUnitTypeSpinner.getSelectedItem()=="Celsius"
              &&ConvertToUnitTypeSpinner.getSelectedItem().toString()=="Fahrenheit")
                {
                    result0 = (temp * 9/5) + 32;
                    result.setText(String.valueOf(result0));
                }
            if (ConvertToUnitTypeSpinner.getSelectedItem()
                ==ConvertToUnitTypeSpinner.getSelectedItem()){
                    result.setText("Units are the same!");
                }
                if (enterTemp.getText().toString().length() == 0)
                {
                    Toast.makeText(MainActivity.this, "It's empty", Toast.LENGTH_SHORT).show();
                  }

                }
              });
             }
           }

我嘗試替換代碼

if (enterTemp.getText().toString().length() == 0) {
            Toast.makeText(MainActivity.this, "It's empty", Toast.LENGTH_SHORT).show();
          }

對此

if(isEmpty(enterTemp.getText().toString())){
            Toast.makeText(MainActivity.this, "It's empty", Toast.LENGTH_SHORT).show();
         }

也沒有運氣

首先,您應該檢查 EditText 是否為空,然后在其他部分進行轉換:

if (enterTemp.getText().toString().isEmpty())
   {
     Toast.makeText(MainActivity.this, "It's empty", Toast.LENGTH_SHORT).show();
} else {
         if(ConvertFromUnitTypeSpinner.getSelectedItem()=="Fahrenheit"&&
                   
         ConvertToUnitTypeSpinner.getSelectedItem().toString()=="Celsius")
            {
                 result0 = (temp - 32 )*5/9;
                 result.setText(String.valueOf(result0));
            }
            if(ConvertFromUnitTypeSpinner.getSelectedItem()=="Celsius"
                  
          &&ConvertToUnitTypeSpinner.getSelectedItem().toString()=="Fahrenheit")
             {
                  result0 = (temp * 9/5) + 32;
                  result.setText(String.valueOf(result0));
             }
              if (ConvertToUnitTypeSpinner.getSelectedItem()
                        ==ConvertToUnitTypeSpinner.getSelectedItem())
               {
                    result.setText("Units are the same!");
                }
     }

您應該使用TextUtils來實現您想要的結果。 就像是:

import android.text.TextUtils;

if ( TextUtils.isEmpty(enterTemp.getText()) ) {
   // Display the toast
}

您的代碼將是:

if(enterTemp.getText().toString().trim().length() == 0 ){
        Toast.makeText(MainActivity.this, "It's empty", Toast.LENGTH_SHORT).show();
     }

試試這個->

if (enterTemp.getText().toString().equals("")) {
            Toast.makeText(MainActivity.this, "It's empty", Toast.LENGTH_SHORT).show();
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM