0

Udacity Firebase コースで FireBase UI ListAdapter を実装することに行き詰まっています。全体が大きく変更され、ActiveListAdapter.java がエラーをスローするようになりました。

メソッド 'super(andoid.app.Activity, java.lang.Class, int, com.google.firebase.database.Query)' を解決できません

誰かがこの問題に遭遇しましたか? それを解決する方法を知っていますか?

これは私の ActiveListAdapter.java です

import android.app.Activity;
import android.view.View;
import android.widget.TextView;

import com.firebase.ui.FirebaseListAdapter;
import com.google.firebase.FirebaseApp;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.Query;
import com.udacity.firebase.shoppinglistplusplus.R;
import com.udacity.firebase.shoppinglistplusplus.model.ShoppingList;

/**
 * Populates the list_view_active_lists inside ShoppingListsFragment
 */
public class ActiveListAdapter extends FirebaseListAdapter<ShoppingList> {

    /**
     * Public constructor that initializes private instance variables when adapter is created
     */
    public ActiveListAdapter(Activity activity, Class<ShoppingList> modelClass, int modelLayout,
                             Query ref) {
        super(activity, modelClass, modelLayout, ref);
        this.mActivity = activity;
    }

    /**
     * Protected method that populates the view attached to the adapter (list_view_active_lists)
     * with items inflated from single_active_list.xml
     * populateView also handles data changes and updates the listView accordingly
     */

    @Override
    protected void populateView(View view, ShoppingList list, int i) {
        /**
         * Grab the needed Textivews and strings
         */
        TextView textViewListName = (TextView) view.findViewById(R.id.text_view_list_name);
        TextView textViewCreatedByUser = (TextView) view.findViewById(R.id.text_view_created_by_user);


        /* Set the list name and owner */
        textViewListName.setText(list.getListName());
        textViewCreatedByUser.setText(list.getOwner());
    }
}
4

3 に答える 3

2

これは、クライアント ライブラリがまだ古いときに、firebase ライブラリ 9.2.1 で動作するように更新された最新の firebase UI ライブラリを使用しているために発生している可能性があります。

「com.firebaseui:firebase-ui:0.4.3」

最新のクライアント ライブラリを使用し、それに応じてクエリを更新する必要があります。

次のリンクを参照してください: https://firebase.google.com/support/guides/firebase-android

ShoppingListsFragment では、クエリが古い Firebase クライアント ライブラリに基づいており、同様の問題が発生していました。それらを更新した後、すべてが機能し始めました!

「com.firebase:firebase-client-android:2.5.2」

于 2016-07-22T12:09:09.117 に答える
0

@Egorは正しいです。コンストラクタは次のようになります。

public ActiveListAdapter(Activity activity, Class<ShoppingList> modelClass, int modelLayout,
                         Query ref) {
    super(ref, modelClass, modelLayout, activity);
    this.mActivity = activity;
}
于 2016-07-08T12:57:51.280 に答える
0

私は同じ問題を抱えていましたが、いくつかの変更を加えることで解決しました。build.gradle ファイルでバージョンを変更しました。1) 'com.firebaseui:firebase-ui:0.4.2' をコンパイルし、2) 'com.google.firebase:firebase-auth:9.2.0' をコンパイルします ( build.gradle で他の firebase バージョンも 9.2.0 に変更します) インポート コマンドを変更して、com.firebase.ui.database.FirebaseListAdapter; をインポートします。以前は import com.firebase.ui.FirebaseListAdapter; でした。

于 2016-07-19T16:48:18.783 に答える