【发布时间】:2017-01-17 05:04:15
【问题描述】:
我一直试图让 Firebase 数据出现在 ListView 中,但我做不到。列表返回,但方式错误
有人可以帮帮我吗?
非常感谢!
这是 Ideia 类:
public class Ideia {
private String distrito, clube, nomeCompleto, nomeIdeia, descricaoIdeia;
public Ideia(){}
public String getDistrito() {
return distrito;
}
public void setDistrito(String distrito) {
this.distrito = distrito;
}
public String getClube() {
return clube;
}
public void setClube(String clube) {
this.clube = clube;
}
public String getNomeCompleto() {
return nomeCompleto;
}
public void setNomeCompleto(String nomeCompleto) {
this.nomeCompleto = nomeCompleto;
}
public String getNomeIdeia() {
return nomeIdeia;
}
public void setNomeIdeia(String nomeIdeia) {
this.nomeIdeia = nomeIdeia;
}
public String getDescricaoIdeia() {
return descricaoIdeia;
}
public void setDescricaoIdeia(String descricaoIdeia) {
this.descricaoIdeia = descricaoIdeia;
}
}
这里是 MyIdeaActivity:
public class MyIdeaActivity extends AppCompatActivity {
private static final String TAG = "PostDetailActivity";
private ListView mListView;
private Button mBtnMenu;
private FirebaseDatabase firebaseDatabase;
private DatabaseReference mDatabaseRef;
private List<Ideia> mList;
private ArrayAdapter mListAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_idea_activity);
firebaseDatabase = FirebaseDatabase.getInstance();
mDatabaseRef = firebaseDatabase.getReference();
mListView = (ListView) findViewById(R.id.lv_my_idea_myidea);
mBtnMenu = (Button) findViewById(R.id.btn_menu_myidea);
mList = new ArrayList<>();
mListAdapter = new ArrayAdapter<Ideia>(this, android.R.layout.simple_dropdown_item_1line, mList);
mListView.setAdapter(mListAdapter);
mDatabaseRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot data : dataSnapshot.getChildren()) {
Ideia i = data.getValue(Ideia.class);
mList.add(i);
mListAdapter.notifyDataSetChanged();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
【问题讨论】:
-
预期的行为是什么?
-
您将 Ideia 对象存储到列表中。这就是为什么结果看起来很奇怪。您想在列表中显示哪些内容?如果是这样,请创建一个自定义适配器并显示来自 Ideia 对象的项目。
标签: android listview firebase firebase-realtime-database