小编Jac*_*ava的帖子

Firebase 助手类

我正在使用 Firebase 库练习,我希望能够在与 Main 分开的类中拥有一些方法,并且能够调用这些方法并返回例如用户。

示例 FirebaseDBHelper.java

public static UserModel getUserFromId(String userId) {
    final UserModel[] user = new UserModel[1];
    dbRef.child("status").child(userId).addListenerForSingleValueEvent(
            new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    // Get user value
                    user[0] = dataSnapshot.getValue(UserModel.class);
                    Log.d("TAG", "Value is: " + dataSnapshot.getValue());
                    Log.d("TAG", "User: " + user);
                    // ...
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {
                    Log.d("TAG", "getUser:onCancelled", databaseError.toException());
                    // ...
                }
            });
    return user[0];
}
Run Code Online (Sandbox Code Playgroud)

主叫

UserModel user = FirebaseDatabaseHelper.getUserFromId("9876");
Log.d("TAG", "UserInfo: " + user);
Run Code Online (Sandbox Code Playgroud)

但是我有一些问题,因为该方法getUserFromId()不返回任何内容。

java android firebase firebase-realtime-database

1
推荐指数
1
解决办法
2025
查看次数

单击列表项时隐藏 AlertDialog

我创建了TextView一个带有选项的警报对话框和一个列表。用户可以从列表中选择一项,也可以使用EditText.

问题是alertDialog只有当我给按钮添加新的时才会隐藏,而不是当我点击列表中的一个项目时。

final AlertDialog.Builder builder = new AlertDialog.Builder(this);
    final LayoutInflater inflater = getLayoutInflater();
    final View dialogGroup = inflater.inflate(R.layout.select_group_layout, null);
    final EditText newGroup = dialogGroup.findViewById(R.id.new_group);
    final ListView listView = dialogGroup.findViewById(R.id.groups_list);


    listView.setAdapter(new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, list));
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                                int position, long id) {
            HelperTools.showInfo("Selected group: " + ((TextView) view).getText(), getClass());
        }
    });

    builder.setView(dialogGroup)
            .setTitle(R.string.departments_txt)
            .setPositiveButton("Añadir", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    contactDepartment = newGroup.getText().toString();
                    HelperTools.showInfo("Selected …
Run Code Online (Sandbox Code Playgroud)

android android-alertdialog

1
推荐指数
1
解决办法
1144
查看次数