Error to popular Spinner straight from the database!

0

Hello, I'm trying to fill in the data from a Spinner recorded in the bank, but unfortunately I could not because I'm still new to the area. I'll pass the codes as I'm trying to do okay.

Here is where the categories I want to appear in the spinner are stored:

 private Categoria cursorToCategoria(Cursor cursor) {
    Categoria categoria = new Categoria();
    categoria.setId(Integer.parseInt(cursor.getString(0)));
    categoria.setNomeCategoria(cursor.getString(1));
    return categoria;
}

public ArrayList<Categoria> getAllCategoria() {
    ArrayList<Categoria> listaCategoria = new ArrayList<Categoria>();
    String query = "SELECT * FROM " + TABELA_CATEGORIAS;
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery(query, null);
    if (cursor.moveToFirst()) {
        do {
            Categoria categoria = cursorToCategoria(cursor);
            listaCategoria.add(categoria);
        } while (cursor.moveToNext());
    }
    return listaCategoria;

}

Here is the Adapter class:

public class CategoriaAdapter extends ArrayAdapter<Categoria> {

public CategoriaAdapter(Context context) {

    super(context, R.layout.cadastro_produto);
}

@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
    if(null == convertView){
        convertView = getLayoutInflater().inflate(R.layout.cadastro_produto, parent, false);
    }
    //Pegamos a turma...
    final Categoria categoria = getItem(position);
    // Adicionamos a turma a Tag da View...
    convertView.setTag(categoria);
    return convertView;
}

@Override
public long getItemId(int position) {
    return super.getItemId(position);
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    return getDropDownView(position, convertView, parent);
}

Here's my class that's my spinner:

public class CadastroProduto extends AppCompatActivity {

Spinner spnCategoria;
EditText edtDescricao, edtVCusto, edtVVenda, edtEAtual, edtEMinimo;
Button btnNFornecedor, btnCadastrar02;

DBHelper db;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.cadastro_produto);

    AdapterView.OnItemSelectedListener itemClickListener = new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            final Categoria categoria = Categoria.class.cast(view.getTag());
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {


    }};

    spnCategoria.setOnItemSelectedListener(itemClickListener);

    db = new DBHelper(this);

    spnCategoria = (Spinner) findViewById(R.id.spnCategoria);

    edtDescricao = (EditText) findViewById(R.id.edtDescricao);
    edtVCusto = (EditText) findViewById(R.id.edtVCusto);
    edtVVenda = (EditText) findViewById(R.id.edtVVenda);
    edtEAtual = (EditText) findViewById(R.id.edtEAtual);
    edtEMinimo = (EditText) findViewById(R.id.edtEMinimo);

    //btnNFornecedor = (Button) findViewById(R.id.btnNFornecedor);
    btnCadastrar02 = (Button) findViewById(R.id.btnCadastrar02);

    /*ArrayAdapter adapterUM = ArrayAdapter.createFromResource (this,R.array.unidade_medida, android.R.layout.simple_spinner_item);
    spnCategoria.setAdapter(adapterUM);*/

    btnCadastrar02.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if (edtDescricao.getText().toString().equals("") ||
                    //edtCategoria.getText().toString().equals("") ||
                    edtVCusto.getText().toString().equals("") ||
                    edtVVenda.getText().toString().equals("") ||
                    edtEAtual.getText().toString().equals("") ||
                    edtEMinimo.getText().toString().equals("")) {
                Toast.makeText(CadastroProduto.this, "Campos não preenchidos, tente novamente", Toast.LENGTH_SHORT).show();
            }

            else {

                Produto produto = new Produto();

                //String fornecedor = spnFornecedor.getSelectedItem().toString();
                produto.setDescricao(edtDescricao.getText().toString());
                //produto.setCategoria(edtCategoria.getText().toString());
                produto.setValorCusto(edtVCusto.getText().toString());
                produto.setValorVenda(edtVVenda.getText().toString());
                produto.setEstoqueAtual(edtEAtual.getText().toString());
                produto.setEstoqueMinimo(Integer.parseInt(edtEMinimo.getText().toString()));

                long res = db.CriarProduto(produto);
                if (res>0){
                    Toast.makeText(CadastroProduto.this, "Produto cadastrado", Toast.LENGTH_SHORT).show();

                    Intent i = new Intent (CadastroProduto.this, Produtos.class);
                    startActivity(i);

                }else {
                    Toast.makeText(CadastroProduto.this, "Cadastro invalido, tente novamente", Toast.LENGTH_SHORT).show();
                }
            }
        }
    });
}

If someone can help, I thank you!

    
asked by anonymous 04.12.2018 / 19:22

0 answers