Изменить EditText с помощью кнопки - PullRequest
1 голос
/ 16 июня 2011

У меня есть EditText и я использую числа внутри EditText для моих переменных.

У меня также есть две кнопки, одна из которых увеличивает число в EditText на одну, а другая уменьшает его на одну.

Может кто-нибудь сказать мне код, чтобы сделать это возможным?

Ответы [ 4 ]

5 голосов
/ 16 июня 2011

Используйте следующую строку в XML-файле EditText для установки типа ввода как числа:

<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, чтобы увеличить число на единицу.

2 голосов
/ 16 июня 2011

Вам нужно создать прослушиватель по нажатию для каждой кнопки, сделав что-то вроде:

 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);
             }
         });
1 голос
/ 16 июня 2011

Просто вы должны использовать событие нажатия обеих кнопок, при увеличении кнопки получить текст в edittextbox и увеличить его и установить в edittextbox, так же, как и для кнопки уменьшения и уменьшить значение.

1 голос
/ 16 июня 2011
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
}           

}
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...