我有這樣的結構在數據庫獲取給定數據的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