Как заполнить данными spinner в alertDialog

270
10 мая 2017, 07:29

Натыкаюсь на java.lang.NullPointerException когда пытаюсь назначить adapter spinner-у. Оно то и понятно, что пытаюсь заполнить spinner данными, когда alertDialog еще не открыт. Подскажите, когда и в каком месте нужно правильно назначать adapter spinner-у.

public class MainActivity extends AppCompatActivity
    implements NavigationView.OnNavigationItemSelectedListener {

public AlertDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    Spinner spinner;
    spinner = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, budgetItems);
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    //тут ловлю Null
    spinner.setAdapter(dataAdapter);
    this.dialog = builder.create();
    this.dialog.setView(this.getLayoutInflater().inflate(R.layout.dialog_add_item, null, true));
    }
}
Answer 1

вам нужно искать ваш спиннер в разметке диалога. Сейчас вы ищите его в разметке активити, но его там нет и вы получаете null:

LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SER‌​VICE);
View layout = inflater.inflate(R.layout.dialog_add_item, null);
spinner = (Spinner) layout.findViewById(R.id.spinner);
READ ALSO
Задача с методом java &ldquo;hasZero()&rdquo;

Задача с методом java “hasZero()”

Помогите, пожалуйста, исправить ошибкиУсловие задачи: Написать метод hasZero(),который принимает int как input и возвращает true, если введенное число...

232
Зачем нужен gluegen и кроcсплатформеннен ли JOGL?

Зачем нужен gluegen и кроcсплатформеннен ли JOGL?

Читал что нужно сделать чтобы подключить JOGL к проектуВозникли следующие вопросы:

244
Как изменить местоположение маркеров?

Как изменить местоположение маркеров?

Если маркеров много как изменить их положение Есть функция добавления маркера

229
что нужно знать чтобы создавать игры под android

что нужно знать чтобы создавать игры под android

Здравствуйте, помогите пожалуйста с этим вопросом, искал в инете не смог найти, надеюсь здесь найду ;)

248