EditText: показать окно ввода, получить текст и изменить его высоту - PullRequest
0 голосов
/ 02 сентября 2011

В моем проекте у меня есть список продуктов, доступных в виде таблицы. Мне нужны две вещи

  1. Когда пользователь нажимает EditText, под ним должна отображаться цифровая клавиатура.
  2. После того, как пользователь введет числовое значение, как мы можем получить введенное значение редактируемого текстового поля .?

У меня EditText вот так:

 EditText txtQty = new EditText(this);
 txtQty.setTextSize(2, 12);
 txtQty.setHeight(4);
 txtQty.setWidth(6);
 txtQty.setId(i);
 txtQty.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
 txtQty.setText("0.00");
 tr.addView(txtQty); 
  1. Как мы можем уменьшить EditText высоту коробки? Я сделал, но это не сильно изменилось

enter image description here

Пожалуйста, дайте мне идею ...

Заранее спасибо

1 Ответ

2 голосов
/ 02 сентября 2011

Вы можете использовать 2 события для достижения этой цели. Первый - onTextChangedListener, если вы хотите получать текст из EditText каждый раз, когда он редактируется. Вторым является onKeyDownListener. Вы можете проверить, равен ли ключ для ввода. getText (). toString () используется для получения текста EditText. Вот фрагмент кода:

        myEditText.setOnKeyListener(new View.OnKeyListener() {

        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {

            if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {

                String tmp = draw.myEditText.getText().toString().trim();
        //to hide keyboard
        InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
                }
                return false;
            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...