2016-10-04 5 views
1

私はpush()メソッドを使用してDBにエントリを追加し、各エントリの参照としてランダムキーを生成するFirebase DBを持っています。FirebaseListAdapterのonItemClickからFirebaseキーを取得する

私はFirebaseListAdapterを使用して、一部のDBエントリをリストビューに取り込んでいます。それから私はsetOnItemClickListenerを私のリストに実装しています。私がここでやりたいことは、クリックした各エントリの参照を返すことです。

//Firebase DB setup 
    mDatabaseStolen =  FirebaseDatabase.getInstance().getReference().child(testing); 

    myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 

      DatabaseReference itemRef = mDatabaseStolen.getRef(); 

      Toast toast = Toast.makeText(getActivity().getApplicationContext(), itemRef.getKey(), Toast.LENGTH_SHORT); 
      toast.show(); 

     } 
    }); 

ここで扱われているプッシュ:

mDatabase.child("testing").push().setValue(newBike); 

Firebaseデータ:私は、リスト内の項目をクリックすると

"testing" : { 
"-KTA7xijNrK1SK98rZns" : {  
    "color" : "Rjfu",  
    "frameSize" : 0,   
    "make" : "Ggg",  
    "other" : "Xhfhf",  
    "stolen" : false 
}, 

"-KTABiJuH2-RXwmp0Rcu" : { 
"color" : "Red",  
"frameSize" : 0,  
"make" : "Test ",  
"other" : "No",  
"stolen" : false 
} 

だから、私は参照KTA7xijNrK1SK98rZnsまたは何でもそれを戻したいです多分。最初のコードスニペットのトーストでは、私が戻ってくるのは、親参照をクリックするたびにtesting文字列です。

助けてください。

答えて

0

あなたはFirebaseListAdapterと言っています。その場合は、adapter.getRef()の位置にある特定のアイテムへの参照を取得することができます。

+0

ご意見ありがとうございました。 – RoRo88

+1

私はカスタムarraylistアダプターを使用しています、私は上記と同じ達成するために何をすべきですか? – ASAP

関連する問題