簡體   English   中英

如果單擊按鈕,如果editText為空,如何發送消息?

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

我的應用程序中有2個編輯文本,有1個按鈕可在編輯文本中添加輸入數字,還有1個文本視圖以顯示結果。 如果我單擊按鈕時編輯文本選項卡為空或為null,我想發表祝酒詞。 我搜索並嘗試了所有解決方案。似乎沒有任何效果。 請幫助!!

這是我將兩個數字相加的代碼。

MainActivity.java

package com.example.mycalc;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {



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

    final EditText editText1 = (EditText)findViewById(R.id.editText1);

    final EditText editText2 = (EditText)findViewById(R.id.editText2);

    Button button1 = (Button)findViewById(R.id.button1);

    final TextView textView1 = (TextView)findViewById(R.id.textView1);
    textView1.setText(" ");



    button1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {


                double edit1 = Double.valueOf(editText1.getText().toString());  
                double edit2 = Double.valueOf(editText2.getText().toString());

                double text = edit1 + edit2;

                textView1.setText(String.valueOf(text));




        }
    });



}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

}

用戶單擊按鈕時,請檢查:

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

修剪它以避免空格。

要創建並顯示Toast,請使用以下代碼:

Toast.makeText(this, "Please input number", Toast.LENGTH_LONG).show();

為了正常工作,您應該替換以下代碼:

if (editText1.equals("")) {
    editText1.setError("please input number");
}
if (editText2.equals("")) {
    editText2.setError("please input number");
}

有了這個:

if (editText1.getText().toString().length() == 0 || editText1.getText().toString().length() == 1) {
    Toast.makeText(this, "Please input number", Toast.LENGTH_LONG).show();
}

您可以嘗試將這兩個函數用於字符串emptynot emptynull 簡單返回true或false。 它在所有項目中都非常有用。

if(isEmpty(edittext.getText().toString())){
       // your Toast message if string is empty
}


if(isNotEmpty(edittext.getText().toString())){
      // your Toast message if string is not empty
}


 public static boolean isEmpty(String str) {

        if (str == null)
            return true;
        else if (str.toString().trim().length() == 0)
            return true;

        return false;
    }

    public static boolean isNotEmpty(String str) {

        if (str == null)
            return false;
        else if (str.toString().trim().length() == 0)
            return false;

        return true;
    } 

添加到您的點擊偵聽器檢查

Toast toast = Toast.makeText(MainActivity.this, "Your Message", Toast.LENGTH_SHORT);
toast.show();

您的代碼將是:

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

    final EditText editText1 = (EditText)findViewById(R.id.editText1);
    final EditText editText2 = (EditText)findViewById(R.id.editText2);
    Button button1 = (Button)findViewById(R.id.button1);
    final TextView textView1 = (TextView)findViewById(R.id.textView1);
    textView1.setText(" ");

    button1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {        
            if(editText1.getText().toString().trim().length() == 0 || editText2.getText().toString().trim().length() == 0) {
                Toast.makeText(this,"Edittext is null",Toast.LENGTH_SHORT).show();
            }
            else {
                  double edit1 = Double.valueOf(editText1.getText().toString());  
                  double edit2 = Double.valueOf(editText2.getText().toString());
                  double text = edit1 + edit2;
                  textView1.setText(String.valueOf(text));
            }
        });
    }
}

暫無
暫無

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

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