我正在尝试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?
请告诉我。