0

Активность:

        package mate.files;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.BaseAdapter; import android.widget.Spinner; import android.widget.TextView;

import java.util.ArrayList;

public class WelcomeActionBarAppearance extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getSupportActionBar().hide(); // Disable window title
    Spinner BarType = (Spinner) findViewById(R.id.BarType); // Spinner init

    ArrayAdapter<?> Adapter = ArrayAdapter.createFromResource(this, R.array.ActionBarType,
                    android.R.layout.simple_spinner_item);
    Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
BarType.setAdapter(Adapter);
    setContentView(R.layout.activity_welcome_action_bar);

}

}


Код simple_spinner_item и simple_spinner_dropdown_item:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
&lt;TextView
    android:id=&quot;@+id/Options&quot;
    android:layout_width=&quot;wrap_content&quot;
    android:layout_height=&quot;wrap_content&quot;
    android:textSize=&quot;23sp&quot;/&gt;

</LinearLayout>


Запуск приложения: при попытке перехода на активность с адаптером, приложение вылетает. Что я делаю не так?

  • Как минимум, ошибка в том, что findViewById() вызван до setContentView(). Все операции поиска и обращения к вью элементам должны осуществляться после установки макета в окно. – woesss Jun 08 '22 at 14:34
  • На будущее, что делать когда вылетает: https://ru.stackoverflow.com/q/797531/11515, https://ru.stackoverflow.com/q/510755/11515. После прочтения и попытки решить самостоятельно, идти сюда строго со стектрейсом – woesss Jun 08 '22 at 14:39
  • @woess, ок, теперь не вылетает, но... в simple_spinner_item указан размер шрифта 25sp, но он, почему-то, не применяется к моему Spinner'у. – Human No1 Jun 09 '22 at 02:31
  • Потому что вы указали адаптеру использовать макет из фреймворка (android.R.layout.simple_spinner_item), а не свой. Так же вам нужно указать id вашего TextView, так как он у вас в контейнере. – woesss Jun 09 '22 at 12:56

0 Answers0