我有这样的结构在数据库获取给定数据的ID微调
Categorias_Produtos
- ID
---nome: Nome1
- ID
---nome: Nome2
我在微调显示数据并捕获返回的数据的名称。没关系。
但我想捕获这个返回的数据的Id,我不知道该怎么做?
代码:
mDatabaseCategorias = FirebaseDatabase.getInstance().getReference().child("Categorias_Produtos");
mResultadoCat = (TextView) findViewById(R.id.tvresultadoSpinnerCat);
mDatabaseCategorias.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
List<String> categorias = new ArrayList<>();
for(DataSnapshot categoriasSnapshot: dataSnapshot.getChildren()){
String nomeCateg = categoriasSnapshot.child("nome").getValue(String.class);
categorias.add(nomeCateg);
}
//spiners resultado
mSpinnerCateg = (Spinner) findViewById(R.id.spinnerCateg);
ArrayAdapter<String> categoriasAdapter = new ArrayAdapter<String>(CadastroServico.this, android.R.layout.simple_spinner_item, categorias);
categoriasAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinnerCateg.setAdapter(categoriasAdapter);
mSpinnerCateg.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String resultado = parent.getItemAtPosition(position).toString();
mResultadoCat.setText(resultado);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
据我了解,我需要他的名字一起莫名其妙地发送内容ID,以微调并从那里检索信息。
我想请一些想法!
创建模型。 (构造者,制定者/获得者)。查询您的Firebase并将查询添加到新列表中(作为您的模型),然后当您选择一个名称时,将其从模型中拉出来...因此您也可以从中获取该ID。希望这是有道理的 – DroiDev
是的它是有道理的。但我不知道我是否会知道如何去做。 @DroiDev – TiagoIB
好的我发布了。我显然没有测试它。它可能无法工作。但那应该让你开始。 – DroiDev