[英]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.