簡體   English   中英

如果沒有輸入任何內容,如何在edittext中將默認值設置為0?

[英]How to set default value to 0 in edittext when nothing is inputted?

我在這里有一個應用程序添加了數字。 我這里有4個edittexts。 我想要發生的是,當我在其中一個edittexts中沒有輸入時,它會假設我輸入了0.如何才能完成? 這是我的代碼:

public class Order extends Activity {
Button GoBackHome;
private Button button1;  
private EditText txtbox1,txtbox2,txtbox3,txtbox4;  
private TextView tv;
Button PayNow;

@Override
public void onBackPressed() {
}

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

        GoBackHome = (Button) findViewById(R.id.gohomebutton);
        PayNow = (Button) findViewById(R.id.button2);
        txtbox1= (EditText) findViewById(R.id.editText1);  
        button1 = (Button) findViewById(R.id.button1);  
        tv = (TextView) findViewById(R.id.editText5);  
        txtbox2= (EditText) findViewById(R.id.editText2);
        txtbox3= (EditText) findViewById(R.id.editText3);
        txtbox4= (EditText) findViewById(R.id.editText4);
        button1.setOnClickListener(new clicker());  

        GoBackHome.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                final Intent i = new Intent(Order.this, MainActivity.class);               
                startActivity(i);
            }
        });

        PayNow.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                final Intent i = new Intent(Order.this, Payment.class);               
                startActivity(i);
            }
        });


}


class clicker implements Button.OnClickListener  
{  
    public void onClick(View v)  
    {  
        String a,b,c,d;  
        Integer vis;  
        a = txtbox1.getText().toString();  
        b = txtbox2.getText().toString();
        c = txtbox3.getText().toString();
        d = txtbox4.getText().toString();
        vis = Integer.parseInt(a)*2+Integer.parseInt(b)*3+Integer.parseInt(c)*4+Integer.parseInt(d)*5;  
        tv.setText(vis.toString());  
    }  
}  

}

您可以像Tushar所說的那樣做,或者您可以初始化XML中的值。 就像是

<EditText 
    android:name="@+id/editText1"
    android:text="0"/>

僅供參考,您可能會發現處理xml上的按鈕點擊更加清晰,如:

<Button
    android:name="@+id/btn1"
    android:onClick="handleClicks"/>

然后在java中你有一個公共的void方法:

public void handleClicks(View clickedView){
   if(clickedView.getId() == btn1.getId(){
       ...
   } else if (...){}
}

初始化為:

txtbox1.setText("0");

您可以在XML文件中設置android:hint="0" ,然后在您的代碼中,您可以檢查它是否為空(可能使用TextUtils.isEmpty() )並將某個變量設置為0。

android:hint="0"將在EditText出現“0”,但輸入任何內容時“0”將消失。

然后你可以將onClick()更改為:

class clicker implements Button.OnClickListener {  
    public void onClick(View v) {  
        String a,b,c,d;  
        Integer vis;  
        a = txtbox1.getText().toString();  
        b = txtbox2.getText().toString();
        c = txtbox3.getText().toString();
        d = txtbox4.getText().toString();

        try {
            vis = Integer.parseInt(a)*2+Integer.parseInt(b)*3+Integer.parseInt(c)*4+Integer.parseInt(d)*5;  
            tv.setText(vis.toString());
        } catch (NumberFormatException e) {
            vis = "0";
        }

        // Do something with "vis"
    }  
} 

或者,您可以創建一個方法來檢查值,嘗試解析為int或返回默認值。

public int getInt(String edtValue, int defaultValue) {
    int value = defaultValue;

    if (edtValue != null) {
        try {
            value = Integer.parseInt(edtValue);
        } catch (NumberFormatException e) {
            value = defaultValue;
        }
    }

    return value;
}

然后你改變你的電話

vis = this.getInt(a, 0) * 2 + this.getInt(b, 0) * 3 + this.getInt(c, 0) * 4 + this.getInt(d, 0) * 5; 

到達后檢查EditText長度

String value = null;

if(ed.getText().length()){
 value = textBox.getText().toString();
} else 
 value = 0+"";

暫無
暫無

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

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