按Button更改EditText

时间:2011-06-16 10:59:46

标签: android android-edittext

我正在使用EditText并使用EditText中的数字作为我的变量。

我也有两个按钮,一个用于将EditText中的数字增加一个,另一个按钮减少一个。

有人可以告诉我使代码成为可能吗?

4 个答案:

答案 0 :(得分:5)

使用EditText的xml中的以下行将输入类型设置为数字:

<EditText 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:inputType="number" 
            android:text="200"
            android:id="@+id/editText1" 
            android:layout_alignParentLeft="true">
        </EditText> 

在源文件中使用以下代码将数字减少1:

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

        Button b1=(Button)findViewById(R.id.button01);

        b1.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub

                int a=Integer.parseInt(ed.getText().toString());

                int b=a-1;

                ed.setText(new Integer(b).toString());
            }
        });

同样在xml中再添加一个按钮,将数字增加一个。

答案 1 :(得分:2)

您需要为每个按钮创建一个on click侦听器,执行以下操作:

 final Button button = (Button) findViewById(R.id.button_id);
         button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                EditText editText = (EditText)findViewById(R.id.edit_text);
                int newVal = ... //retrieve the previous val and increment it (or decrement it)
                editText.setText(newVal, TextView.BufferType.EDITABLE);
             }
         });

答案 2 :(得分:1)

button.setOnClickListener(new OnCLickListener(){
@Override
            public void onClick(View arg0) {
if(arg0.equals(button1))
{
String s = editText.getText().toString();
Integer i = Integer.parseInt(s);
i=++i;
s = s.valueOf(i);
editText.setText(s);
}    
if(arg0.equals(button2))
{
//decrement
}           

}
})

答案 3 :(得分:1)

只需要使用两个按钮的单击事件,在增加按钮上获取edittextbox中的文本并将其递增并在edittextbox中设置它,同样对减量按钮也是如此,并递减值。