2017-08-31 20 views
-1

fireviewデータベースのデータをリストビューに挿入しようとしていますが、成功しませんでした。 私のfirebaseは "ocorrencias"という名前の "メインノード"を持っています。内部にはいくつかの情報があり、このデータ(情報)をlistview(firebaseのデータを含む画像)に挿入します。 Database firebase, with data to insert in listview 誰かが私を助けることができますか?androidstudioのfirebaseのデータをリストビューに取り込みます

ハグ。

答えて

0

FirebaseUIを使用すると、このガイド(RecyclerView guideListView guide)に従ったリストビューと同様に、RecyclerViewを作成できますが、ListViewを要求したので、この場合のみ説明します。

コーディングを開始する前に、プロジェクトをFirebaseに接続する必要があります。まだ行っていない場合は、guideに従うことができます。これで、Firebaseデータベースからリアルタイムデータを取得することができます。

まずあなたがapp/build.gradleファイルの依存関係に次の行を追加する必要があります。その後、あなたの活動に、あなたはあなたのリストビューを見つける必要があり

compile 'com.firebaseui:firebase-ui-database:2.3.0' 

ListView listView = (ListView) findViewById(R.id.listview_id); 

とGETデータベースへの参照:

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

このようにすると、そのデータをListViewに渡します。 FirebaseUIには、使用できるアダプターのversionがあります。

FirebaseListAdapter mAdapter = new FirebaseListAdapter<YourDatabaseObject>(this, YourDatabaseObject.class, android.R.layout.two_line_list_item, ref) { 
    @Override 
    protected void populateView(View view, YourDatabaseObject databaseField, int position) { 
     ((TextView) view.findViewById(android.R.id.text1)).setText(databaseField.getField1()); 
     ((TextView) view.findViewById(android.R.id.text2)).setText(databaseField.getField2()); 

    } 
}; 
// Set the adapter of the ListView 
listView.setAdapter(mAdapter); 

あなたは(あなたのケースOcurencias中)Firebaseデータベースからデータを表し、クラスでYourDatabaseObjectを置き換えることができます。まだ作成していない場合は、このguideに従うことができます。 もしデフォルトIDを使用したので、レイアウトIDを置き換えることもできます。

このようにして、ListViewはデータベースからのデータを表示し、新しいデータがデータベースに挿入されると自動的に更新されます。

データを表示するために必要なオブジェクトをまだ作成していない場合は、上記のガイドに従うか、FirebaseUIのofficial documentationを読んでください。

+0

ご回答ありがとうございます。 しかし、私のコードは異なります –

+0

このコードをアプリケーションにそのまま貼り付けると機能しませんか? –

+0

貼り付けはしませんが、私はあなたのコードを理解しており、疑問が解決しました。あなたのコードでは、データを挿入することはできますが、データを挿入するためには必要な "for"が必要です。 +1 –

関連する問題