Drop Spinner onFocus с кодом XML - PullRequest
0 голосов
/ 02 марта 2012

Я хочу показать опции на моем счетчике, когда этот счетчик получит фокус.Проблема заключается в переходе фокуса в другое текстовое представление, игнорируя счетчик.

Это код XML:

        <LinearLayout>
            <TextView
                android:id="@+id/lbTratamento"
                android:text="@string/lbTratamento"
                style="@style/label_padrao" />
            <EditText
                android:id="@+id/txtTratamento"
                android:layout_weight="2"
                style="@style/txt_padrao"
                android:nextFocusDown="@+id/spnTipo" />
            <TextView
                android:id="@+id/lbTipo"
                 android:text="@string/lbTipo"
                style="@style/label_padrao" />
            <Spinner
                android:id="@+id/spnTipo"
                style="@style/spinner_padrao" 
                android:layout_width="150dp"   />

        </LinearLayout>

        <LinearLayout>
            <TextView
                android:id="@+id/lbPalavraChave"
                 android:text="@string/lbPalavraChave"
                style="@style/label_padrao" />
            <EditText
                android:id="@+id/txtPalavraChave"
                android:layout_weight="2"
                style="@style/txt_padrao" 
                android:nextFocusDown="@+id/spnSexo"/>
            <TextView
                android:id="@+id/lbSexo"
                 android:text="@string/lbSexo"
                style="@style/label_padrao" />
            <Spinner
                android:id="@+id/spnSexo"
                style="@style/spinner_padrao" 
                android:layout_width="150dp" 
                android:focusable="true"
                android:focusableInTouchMode="true" />  
        </LinearLayout>

Возможно ли это сделать с помощью свойств XML?

Спасибо!

Ответы [ 2 ]

1 голос
/ 24 апреля 2012

внутри события OnCreate, напишите:

Spinner spnSexo = (Spinner) findViewById(R.id.spnSexo);
final String[] sexos = new String[]{"Male", "Female"};
ArrayAdapter<String> adSexo = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item, sexos);
adSexo.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnSexo.setAdapter(adSexo);

Веселитесь ...

0 голосов
/ 03 марта 2012

Я действительно не могу сказать, что вы хотите сделать, основываясь на этом файле.

У меня есть несколько комментариев:

  • Избегайте установки ширины макета в единицах.Вы только попадете в беду.Позвольте системе установить ширину.Вы должны использовать wrap_content, если это вообще возможно.
  • Нет необходимости устанавливать focusable или focusableInTouchMode для Spinner.
  • Удалите атрибуты nextFocusDown, чтобы увидеть, устранена ли ваша проблема.1011 * Этот файл просто говорит мне, что у вас есть два макета в вашем окне, содержащие сочетание меток, полей ввода текста и счетчиков.Похоже, это должно работать.Что вы ожидаете от этого?
...