Подтвердить что ты не робот

Android: Пользовательский макет Spinner

Я пытаюсь создать полностью собственный счетчик. Я сталкиваюсь с трудностями при создании макета, который появляется, когда вы нажимаете на него. Вот мой код для моего адаптера:

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this, R.array.my_array, R.layout.spinnertext);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);

Из того, что я прочитал в документации, макет, используемый для установки, устанавливается по строке:

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

Хотя каждый раз, когда я меняю его на новый макет, который я делаю, он делает приложение неудачным, когда я пытаюсь использовать счетчик. Я попытался найти то, что "android.R.simple_spinner_dropdown_item" выглядит так, чтобы выяснить, есть ли у меня что-нибудь.

Все мои макеты, которые я пробовал, были линейными или относительными макетами, только с текстовым интерфейсом.

Как я могу создать настраиваемый макет, когда выбран счетчик?

4b9b3361

Ответ 1

row.xml, чтобы настроить макет для каждой строки (в этом случае: одно изображение и текст каждой строки):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <ImageView
       android:id="@+id/icon"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:src="@drawable/icon"/>

    <TextView
       android:id="@+id/weekofday"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"/>
</LinearLayout>

Java:

public class AndroidCustomSpinner extends Activity {

 String[] DayOfWeek = {"Sunday", "Monday", "Tuesday",
   "Wednesday", "Thursday", "Friday", "Saturday"};

   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);

       Spinner mySpinner = (Spinner)findViewById(R.id.spinner);
       ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
         R.layout.row, R.id.weekofday, DayOfWeek);
       mySpinner.setAdapter(adapter);
   }
}