如何从Android中的fire base数据库获取自定义键元素?

时间:2017-10-03 21:05:59

标签: android

我有以下fire base数据库结构 Data base Structure of my project

我成功地在我的模拟器上获得了以下结果 Output of my Application

问题是我在获取我的自定义密钥中的数据时遇到困难,即组名称我不知道如何带来我的密钥中的特定数据我想向我的用户显示组名称在自定义密钥中,保存密钥的原因是我的应用程序的一个用户将能够创建多个组,因此我已将该数据放入自定义密钥中,以便每当用户从他/她的帐户创建新组时数据将保存在一个唯一的密钥中。我的视图片段的示例代码是

public static final String TAG = "Tab2Fragment";
private ListView Lview;
private DatabaseReference dref;

ArrayList<String> list = new ArrayList<>();
ArrayAdapter<String> adapter2;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_tab2, container, false);

    perform(view);
    dref= FirebaseDatabase.getInstance().getReference().child("users").child("Shahrukh");
    String grp_name=  dref.getKey().toString();
    dref.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for(DataSnapshot snapshot:dataSnapshot.getChildren()) {
                String grp_name = snapshot.getKey();

                    list.add(grp_name.toString());

            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });


    return view;
}

public void perform(View v) {
    Lview = (ListView) v.findViewById(R.id.list_item);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, list);
    Lview.setAdapter(adapter);
}

}

0 个答案:

没有答案