Можно ли создать компоненты спиннера Android «ArrayAdapter», используя ссылку на макет xml? - PullRequest
0 голосов
/ 29 декабря 2011

В моем приложении для Android я создаю макет программно (т. Е. XML-файл макета, не используемый для создания макета компонента), в таком случае, как я могу создать компонент счетчика программно? Особенно в части setAdapter компонента spinner. Можно ли создать ArrayAdapter без использования ссылки на макет XML, например 'android.R.layout.spinner_item'?

          Spinner sp_gender = new Spinner(this);
          ArrayList<String> spinnerArray = new ArrayList<String>(); 

         ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this,
               android.R.layout.spinner_item, new String[] {   
                      "Male", 
                      "Female"                
                     });

         sp_gender.setAdapter(spinnerArrayAdapter); 

         ll_main.addView(sp_gender);

В приведенном выше коде я хочу удалить справочную часть XML-файла 'android.R.layout.spinner_item', поскольку я полностью создаю макет в классе действий.

1 Ответ

0 голосов
/ 29 декабря 2011

Нет, это невозможно . Потому что у ArrayAdapter нет конструктора по умолчанию. Также вам нужно указать структуру представления, а также на котором оно должно рисовать представление, поэтому arrayadapter принимает идентификатор и контекст макета в качестве одного из своих параметров

ArrayAdapter(Context context, int textViewResourceId) - конструктор ArrayAdapter с наименьшим параметром.

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