java - 带有提示和默认值的 Edittext 可能吗?

标签 java android android-edittext default hint

我正在创建一个小费计算器应用程序,我想知道如何允许我的编辑文本(用户输入账单金额)仍然显示提示(提示说“输入账单金额”),但内部也有默认值零。我想这样做的原因是因为如果他们按下计算提示按钮并且在编辑文本中没有输入任何文本,应用程序将强制关闭,并且我认为默认值为零可以解决我的问题,因为它只会说小费 0.00 美元。或者,如果有人可以建议我如何制作一个弹出窗口,说他们需要输入账单金额,那就更好了!

当前主要Java:

    package com.rockdrummer.calculating.calculating;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    import java.text.NumberFormat;
    import java.util.Locale;


    public class MainScreen extends Activity {
        private static final NumberFormat currencyFormat= NumberFormat.getCurrencyInstance();

        Button ten, fifteen, twenty;
        TextView tip;
        EditText bill_amount;
        double a = 0;
        double b;
        double af = 0;
        double bf;
        double ac = 0;
        double bc;


@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_screen);
    initControls();
    Locale.setDefault(Locale.US);




}



protected void initControls() {
    ten = (Button) findViewById(R.id.bTen);
    fifteen = (Button) findViewById(R.id.bFifteen);
    twenty = (Button) findViewById(R.id.bTwenty);
    tip = (TextView) findViewById(R.id.tip);
    bill_amount = (EditText) findViewById(R.id.bill);






    ten.setOnClickListener(new Button.OnClickListener() {
        public void onClick(View ten) {


            try {
                calculate();
            } catch (IndexOutOfBoundsException e) {
                e.printStackTrace();
            }
        }
    });
    fifteen.setOnClickListener(new Button.OnClickListener() {
        public void onClick(View fifteen) {
            try {
                calculate_f();
            } catch (IndexOutOfBoundsException e) {
                e.printStackTrace();
            }
        }
    });
    twenty.setOnClickListener(new Button.OnClickListener() {
        public void onClick(View twenty) {
            try {
                calculate_t();
            } catch (IndexOutOfBoundsException e) {
                e.printStackTrace();
            }
        }
    });
}

private void calculate() {


    a = 0 + Double.parseDouble(bill_amount.getText().toString());

    b = 0 + (a * 0.1);
    tip.setText("You Should Tip " + currencyFormat.format(b));
}

private void calculate_f() {
    af = 0 + Double.parseDouble(bill_amount.getText().toString());
    bf = 0 + (af * 0.15);
    tip.setText("You Should Tip " + currencyFormat.format(bf));
}

private void calculate_t() {
    ac = 0 + Double.parseDouble(bill_amount.getText().toString());
    bc = 0 + (ac * 0.20);
    tip.setText("You Should Tip " + currencyFormat.format(bc));
}

}

最佳答案

只需检查 onClick/onCalculate 方法中的文本是否为空。如果为空,则使用0,即:

public void onCalculate() {
    float input = 0.0;
    if (editText.getText().toString().equals("")) {
         //Text is empty do nothing
    } else {
         //parse your value
         input = Float.parseFloat(editText.getText().toString());
    }
}

关于java - 带有提示和默认值的 Edittext 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25857184/

相关文章:

android - 将按钮样式设置为看起来像 EditText(但仍然表现得像按钮)

java - Java 中的 "runtime class"是什么?

android - 将抽屉导航添加到现有的 Android 谷歌地图

android - 辅助功能服务未在服务中列出?

android - TrafficStats 特定应用-特定网络接口(interface)

android - 为edittext中的某些单词制作波浪形红色下划线

android - 如何使用多个选定选项实现 AutoCompleteTextView?

java - JSP中带指数的Double类型格式错误

java - HTTP 状态 500 - 在 eclipse maven 中实例化 servlet 时出错

java - 如何自定义 Optional 类中 NoSuchElementException 的错误信息