【发布时间】:2017-09-13 05:00:39
【问题描述】:
在问这里之前,我尝试遵循一些教程,但是当尝试根据其他人的教程进行重现时,出现了字符串错误的哈希图之类的问题。
我的疑惑如下:
我在下面做的方式可以从Firebase获取值,但我只想获取“食物”(肉,鸡,..)里面的信息,如果它很好的话,没有信息或不。以及如何列出项目而不是将它们放在一起。 谢谢
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.google.firebase.database.ChildEventListener;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import java.util.ArrayList;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
DatabaseReference dref;
ListView listview;
ArrayList < String > list = new ArrayList < > ();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listview = (ListView) findViewById(R.id.listview);
final ArrayAdapter < String > adapter = new ArrayAdapter < String > (this, android.R.layout.simple_list_item_1, list);
dref = FirebaseDatabase.getInstance().getReference();
dref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String teste = dataSnapshot.child("Restarant").child("foods").getValue().toString();
adapter.add(teste);
listview.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
【问题讨论】:
-
你能澄清一下到底是什么不起作用吗?你在尝试什么,你的预期输出是什么?实际输出?谢谢
-
我想获取foods里面的数据,但是只取(meat,pork, chicken)没有状态,目前是这样的:{chicken = good, pig=amazing, meat = good}它显示每个人都在同一条线上。我希望是:-pork -chicken -Meat
标签: android listview firebase firebase-realtime-database