我在我的RecyclerView
布局中有一些TextView
,基于我从Firebase
数据库中获得的数据,我使用下面的代码隐藏了一些行,
public void Date(String d){
dataRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
LatLonConstructor data = dataSnapshot.getValue(LatLonConstructor.class);
LatLong = data.getLatLon();
String SplitOldLatlon[] = LatLong.split(" ");
Double OldLat = Double.parseDouble(SplitOldLatlon[0]);
Double OldLon = Double.parseDouble(SplitOldLatlon[1]);
String LatLon1 = location.getText().toString().trim();
String SplitNewLatlon[] = LatLon1.split(" ");
Double NewLat = Double.parseDouble(SplitNewLatlon[0]);
Double NewLon = Double.parseDouble(SplitNewLatlon[1]);
double Theta = NewLon - OldLon;
double dist = Math.sin(deg2rad(NewLat))
* Math.sin(deg2rad(OldLat))
+ Math.cos(deg2rad(NewLat))
* Math.cos(deg2rad(OldLat))
* Math.cos(deg2rad(Theta));
dist = Math.acos(dist);
dist = rad2deg(dist);
dist = dist * 60 * 1.1515;
String FinalDist = String.valueOf(dist);
body.setText(FinalDist);
dist = dist * 1.609;
if (dist < 1){
int pos = getAdapterPosition();
view.setVisibility(View.GONE);
view.setLayoutParams(new RecyclerView.LayoutParams(0,0));
progressDialog.dismiss();
} else {
progressDialog.dismiss();
}
}
现在的问题是,它隐藏了视图,但是在隐藏元素的地方留下了一个空白。
我想知道如何正确隐藏RecyclerView
的物品。
3条答案
按热度按时间brccelvz1#
你可以从列表中删除你用来在recyclerview中加载数据的元素。如果它不起作用,试试这个。你能分享你的完整代码吗?
30byixjq2#
有时,更改父视图的高度会有所帮助:
不要忘记恢复行,反之亦然:
希望有帮助。
pgky5nke3#
要添加一些边距的地方,该视图使不可见,并设置其宽度根据您的要求。我是使视图不可见的看法。去了,它不工作,因为该看法是不存在的,所以设置什么?。最好的方法是使它不可见,并做任何你想要的。