2017-02-04 69 views
0

我在活動中創建了一個選項卡視圖。現在我想顯示要從Firebase檢索的每個標籤內的列表項。是否有任何方式在Tab視圖中實現FirebaseListAdapter?

我可以檢索並顯示活動內的數據。但我不知道如何在片段內使用FirebaseListAdapterFirebaseListAdapter需要第一個參數作爲Activity,但我如何將片段作爲活動傳遞?

childRef = databaseReference.child(str); 
FirebaseListAdapter<Leave> firebaseListAdapter = new FirebaseListAdapter<Leave>(
      this, 
      Leave.class, 
      R.layout.leavelistview, 
      childRef 
    ) { 
     @Override 
     protected void populateView(View v, Leave model, int position) { 
      ((TextView)v.findViewById(R.id.lv_staffname)).setText(model.getName()); 
      ((TextView)v.findViewById(R.id.lv_type)).setText(model.getType()); 
      ((TextView)v.findViewById(R.id.lv_duration)).setText(model.getDuration()); 
     } 
    }; 
    listView.setAdapter(firebaseListAdapter); 

這是我在活動中使用的代碼。但是在一個片段中實現這個會給我一個錯誤,因爲我們不能通過this來得到一個片段。

回答

2

你可以在片段上調用getActivity()將它傳遞給適配器。就像這樣:

FirebaseListAdapter<Leave> firebaseListAdapter = new FirebaseListAdapter<Leave>(
      getActivity(), 
      Leave.class, 
      R.layout.leavelistview, 
      childRef 
    ) { 
     @Override 
     protected void populateView(View v, Leave model, int position) { 
      ((TextView)v.findViewById(R.id.lv_staffname)).setText(model.getName()); 
      ((TextView)v.findViewById(R.id.lv_type)).setText(model.getType()); 
      ((TextView)v.findViewById(R.id.lv_duration)).setText(model.getDuration()); 
     } 
    }; 
+0

它仍然給我錯誤說期望的參數是'android.app.activity' –

+0

'getActivity()嘗試使用' –

+0

的錯誤消失。 –

相關問題