[英]how to toast a message if editText is empty?
I am trying to get a message to appear when a button is clicked to tell the user to fill in the blank field.我试图在单击按钮时显示一条消息,告诉用户填写空白字段。 Currently, if the field is blank, it crashes/force closes the app.
目前,如果该字段为空白,它会崩溃/强制关闭应用程序。 the criteria that i need are to have spinners for the Celsius/Fahrenheit options and toast messages if the spinners are both on the same option or if the value is blank
我需要的标准是为摄氏度/华氏度选项和 toast 消息设置微调器(如果微调器都在同一选项上或值为空)
Here is the code这是代码
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();
}
}
});
}
}
I tried replacing the code我尝试替换代码
if (enterTemp.getText().toString().length() == 0) {
Toast.makeText(MainActivity.this, "It's empty", Toast.LENGTH_SHORT).show();
}
to this对此
if(isEmpty(enterTemp.getText().toString())){
Toast.makeText(MainActivity.this, "It's empty", Toast.LENGTH_SHORT).show();
}
also no luck也没有运气
First of all you should check EditText is empty or not and in else part do your conversion:首先,您应该检查 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!");
}
}
You should use TextUtils
to achieve your desired result.您应该使用
TextUtils
来实现您想要的结果。 Something like:就像是:
import android.text.TextUtils;
if ( TextUtils.isEmpty(enterTemp.getText()) ) {
// Display the toast
}
Your code will be:您的代码将是:
if(enterTemp.getText().toString().trim().length() == 0 ){
Toast.makeText(MainActivity.this, "It's empty", Toast.LENGTH_SHORT).show();
}
Try this->试试这个->
if (enterTemp.getText().toString().equals("")) {
Toast.makeText(MainActivity.this, "It's empty", Toast.LENGTH_SHORT).show();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.