3 回答

TA貢獻1963條經驗 獲得超6個贊
如果您試圖將counter
變量作為全局變量并在回調之外使用它,那將始終是null
因為正如@Vinnie 在他的回答中提到的那樣,數據尚未完成加載。真正發生的事情是您試圖從數據庫中獲取數據并立即使用它,而counter
變量的初始值為0
. 然后,當從數據庫中獲取數據完成時,它會更改計數器的值,但不會再次讀取。為了解決這個問題,getItemCount()
在你的適配器類中使用你的方法的結果將它的值設置為TextView
.

TA貢獻1806條經驗 獲得超8個贊
如果您想獲取您的 recyclerView 列表,只需在您的 recyclerView 適配器中創建一個靜態方法,然后在其中返回您的列表。
例如:
public static List<modelOfYourList> getCount(){
return yourAdapterList;
}

TA貢獻2080條經驗 獲得超4個贊
也許在你的AttendanceAdapter課堂上添加這樣的東西?
我看了一下FirestoreRecyclerOptions類,它公開了一個getSnapshots()方法。這將返回 a ObservableSnapshotArray,而后者又從 擴展而來Base ObservableSnapshotArray,它公開了一個size()方法。
class AttendanceAdapter extends FirestoreRecyclerAdapter<Attendance, AttendanceAdapter.AttendanceHolder>{
{
private FirestoreRecyclerOptions<Attendance> options;
public AttendanceAdapter(@NonNull FirestoreRecyclerOptions<Attendance> options)
{
super(options);
this.options = options;
}
@Override
public int getItemCount()
{
final int count = options.getSnapshots() != null
? options.getSnapshots().size()
: 0;
return count;
}
添加回答
舉報