Пользовательский ввод вызывает появление формы - PullRequest
0 голосов
/ 23 июня 2011

Я хочу, чтобы объект EditText появлялся, когда пользователь выбирает «Комбинацию» на счетчике. Как мне это сделать?

Вот что я пробовал:

     ground = (Spinner) findViewById(R.id.ground);
    ArrayAdapter<CharSequence> groundAdapter = ArrayAdapter.createFromResource(
            this, R.array.ground_array, android.R.layout.simple_spinner_item);
    groundAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    ground.setAdapter(groundAdapter);
    ground.setOnItemSelectedListener(new GroundListener());
    if(ground.getSelectedItem().toString().equalsIgnoreCase("Combination"))
    {
        combo.setVisibility(0);
    }

комбинированный объект EditText установлен в файле XML как android:visibility="gone"

Код GroundListener равен

     public class GroundListener implements OnItemSelectedListener {

            public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
                String selected = parent.getItemAtPosition(pos).toString();
            }

            public void onNothingSelected(AdapterView parent)
            {
                // Do nothing.
            }
        }

1 Ответ

1 голос
/ 23 июня 2011

Что такое GroundListener?

Разве вы не должны использовать AdapterView.OnItemSelectedListener с его onItemSelected методом?

Рядом используйте setVisibility(View.VISIBLE) вместо 0 для удобства чтения.

EDIT:

Я не понимаю, что вы делаете со своим кодом, ваш GroundListener не подключен ни к чему, и ваш тест находится вне слушателя.

Попробуйте:

ground.setOnItemSelectedListener(new OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {

           if(parent.getItemAtPosition(pos).toString().equalsIgnoreCase("Combination"))
            {
              combo.setVisibility(View.VISIBLE);
            }
        }

        public void onNothingSelected(AdapterView parent)
        {
            // Do nothing.
        }
    });

Проверьте, работает ли это, а затем верните код в GroundListener, чтобы проверить, работает ли он. У вас может быть проблема с тем фактом, что GroundListener может не знать, что такое комбо. Но ты справишься с этим.

Edit:

Синтаксическая коррекция

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