我正在尝试FirebaseDatabase
根据时间过滤内容,为此我创建了一个方法并从FastAdapter
.bindView()
RecyclerView
我正在使用以下代码从 startTime 中减去 currentTime:
holder.now = System.currentTimeMillis() / 1000;
holder.startTimeDateInEpochLong = Long.parseLong(holder.startDateTimeInEpoch.getText().toString());
holder.diff = holder.startTimeDateInEpochLong - holder.now;
Log.d("log1", String.valueOf(holder.diff));
然后使用holder.diff
来执行 的方法中的逻辑,MainActivity
并像这样调用该方法bindView()
:
MainActivity.filterButton.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
if(holder.mContext instanceof MainActivity){
((MainActivity)holder.mContext).filterRequests(holder.diff);
Log.d("log2", String.valueOf(holder.diff));
}
return true;
}
});
问题是它log1
显示了所有的值,holder.diff
但log2
只显示了最后一个获取的值,并且只使用它来执行逻辑。
如何确保.filterRequests(holder.diff)
使用 的所有值执行逻辑holder.diff
?
请告诉我。