0

我正在尝试创建一个 Firebase 数据库来存储员工信息,然后在查询地址时,所有留在该特定区域的员工都应该显示在 ListView 或 RecyclerView 中,但是,我遇到了以下问题:

我无法填充 ListView。

    ArrayList<String> mItems = new ArrayList<>();
    ArrayAdapter mAdapter;
    ListView mRecyclerView;

    FirebaseListAdapter<String> fireAdapter = new FirebaseListAdapter<String>() {
            @Override
            protected void populateView(View view, String s) {
             //populate view
            }
        };

在上面的代码中,我无法编写构造函数使其变为,

    FirebaseListAdapter<String> fireAdapter = new FirebaseListAdapter<String>(this,String.class,
                android.R.layout.simple_list_item_1,mEmployRef) {
            @Override
            protected void populateView(View view, String s) {
                //populate view
            }
        }; 

当我用构造函数编写上面的代码时,它说,

无法解析构造函数“FirebaseListAdapter(匿名 android.view.View.OnClickListener,java.lang.Class,int,com.google.firebase.database.DatabaseReference)”

我该如何解决这个问题?当我尝试使用 RecyclerView 时会出现类似的问题。

4

2 回答 2

0

当 Firebase 升级时我遇到了这个问题,我为摆脱构造函数错误所做的就是改变这个:

Firebase rootRef = new Firebase("https://<your-app>.firebaseio.com/");

对此:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();

然后使用 rootRef 作为构造函数的第四个参数。

这是从以前的 firebase 升级到当前的链接: https ://firebase.google.com/support/guides/firebase-android#import_your_project_to_the_new_firebase_console_numbered

另外,升级你的sdk。希望这能解决你的问题

于 2016-06-04T08:58:15.543 回答
0

您在 中创建适配器OnClickListener(),这意味着this指向该侦听器。您需要传递Activityto FirebaseListAdapter,您可以使用MainActivity.this.

于 2016-05-26T02:07:30.700 回答