Я не нашел ошибку в инструкции: spIdEdificio.setAdapter (adapterEdificios);// указываем на нулевую ссылку на объект.
Пожалуйста, некоторые могут помочь мне с вращателем, я новичок в Android Studio. Я искал возможное решение в течение 2 дней и до сих пор не могу его исправить. Ссылка на макет xml верна. Я ценю любую помощь.
public class CrudOficinaActivity extends AppCompatActivity {
DaoEdificios daoEdificios;
...
Spinner spIdEdificio;
ArrayList<String> listItemEdificios = new ArrayList<>();
ArrayAdapter<String> adapterEdificios;
...
String codedificioedit="-";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_oficina);
daoEdificios = new DaoEdificios( this);
agregar=findViewById(R.id.btnAdd);
listItemEdificios.add("Seleccione");
CargarSpiEdificios();
adapterEdificios = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item,listItemEdificios);
adapterEdificios.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
...
agregar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Context context;
final Dialog dialog= new Dialog(CrudOficinaActivity.this);
...
dialog.show();
try {
spIdEdificio = findViewById(R.id.spIdEdificio_d);
spIdEdificio.setAdapter(adapterEdificios);
spIdEdificio.setSelection(0);
}catch (Exception e){ }
nombredit= dialog.findViewById(R.id.etNombreOficina_d);
tituloform=dialog.findViewById(R.id.tvTitulo_d);
guardar = dialog.findViewById(R.id.d_agregar);
cancelar = dialog.findViewById(R.id.d_cancelar);
spIdEdificio.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
...
cancelar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
Toast.makeText(CrudOficinaActivity.this,"Añadiendo registro: "+nombredit.getText(),Toast.LENGTH_SHORT).show();
}
});
}
private void CargarSpiEdificios() {
ArrayList<Edificios> edi = daoEdificios.verTodos();
if(edi.size()>0) {
for (int i = 0; i < edi.size(); i++) {
listItemEdificios.add(edi.get(i).getId() + "-" + edi.get(i).getCodigo() + "-" + edi.get(i).getNombreedificio());
}
}else{
Toast.makeText(this,"No existen datos de edificio",Toast.LENGTH_LONG).show();
}
}
}