Ошибка конструктора адаптеров списка Firebase для Android - PullRequest
0 голосов
/ 02 января 2019

Я пытаюсь создать представление списка с данными из базы данных Firebase в реальном времени. По какой-то причине я продолжаю получать красную линию под этим кодом. Надеюсь, вы можете сообщить мне, в чем здесь моя ошибка. Спасибо :). Я приложил свой файл макета, а также коды приложений.

(this,String.class,android.R.layout.simple_list_item_1,databaseReference)

Below here is the complete code

            DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReferenceFromUrl("https://vsem-inventory.firebaseio.com/");
        FirebaseListAdapter<String> firebaseListAdapter = new FirebaseListAdapter<String>(this,String.class,android.R.layout.simple_list_item_1,databaseReference) {
            @Override
            protected void populateView(@NonNull View v, @NonNull String model, int position) {
                TextView textView = v.findViewById(android.R.id.text1);
            }
        };

        mListView.setAdapter(firebaseListAdapter);

content_main_menu.xml

  <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainMenu">

    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="0dp" />
</RelativeLayout>

Приложение Gradle

 apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.user.vseminventory"
        minSdkVersion 19
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.google.firebase:firebase-auth:16.0.5'
    implementation 'com.google.firebase:firebase-database:16.0.5'
    implementation 'com.google.firebase:firebase-storage:16.0.5'
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.firebase:firebase-client-android:2.3.1'
    implementation 'com.firebaseui:firebase-ui-database:4.3.0'
}

apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true

1 Ответ

0 голосов
/ 02 января 2019

Похоже, вы используете новый Firebaseui (версия 3.0+), конструктор FirebaseListAdapter был изменен.

Сначала необходимо настроить адаптер с помощью класса FirebaseListOptions, затемВы можете создать экземпляр FirebaseListAdapter.

. Проверьте этот код из документов:

 FirebaseListOptions<Chat> options = new FirebaseListOptions.Builder<Chat>()
    .setQuery(query, Chat.class)
    .build();

FirebaseListAdapter<Chat> adapter = new FirebaseListAdapter<Chat>(options) {
@Override
protected void populateView(View v, Chat model, int position) {
    // Bind the Chat to the view
    // ...
 }
};

Как видите, FirebaseListAdapter принимает параметр типа FirebaseListOptions

Более подробная информация здесь:

https://github.com/firebase/FirebaseUI-Android/blob/master/database/README.md#using-firebaseui-to-populate-a-listview


Вы можете увидеть исходный код здесь:

https://github.com/firebase/FirebaseUI-Android/blob/master/database/src/main/java/com/firebase/ui/database/FirebaseListAdapter.java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...