亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android - 隱藏/刪除邊距以及隱藏 RecyclerView 的項目

Android - 隱藏/刪除邊距以及隱藏 RecyclerView 的項目

斯蒂芬大帝 2023-02-23 16:41:16
我的布局中有一些TextViews RecyclerView,基于我從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 回答

?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

您可以從用于在 recyclerview 中加載數據的列表中刪除該元素。如果它不起作用,請嘗試此操作,請分享您的完整代碼。



查看完整回答
反對 回復 2023-02-23
?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

有時改變父視圖的高度有助于:


view.setVisibility(View.GONE); 

view.setLayoutParams(new RecyclerView.LayoutParams(0, 0));

不要忘記恢復行反之亦然:


view.setVisibility(View.VISIBLE);

view.setLayoutParams(new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));

希望能幫助到你。


查看完整回答
反對 回復 2023-02-23
?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

要添加一些邊距來代替該視圖,請使視圖不可見并根據您的要求設置其寬度。我正在通過 view.GONE 使視圖不可見,它不起作用,因為視圖不存在,所以要設置什么?。最好的辦法就是讓它隱形,隨心所欲。

linearlayout.setVisibility(View.INVISIBLE);
                    linearlayout.setLayoutParams(new LinearLayoutCompat.LayoutParams(10, 0));



查看完整回答
反對 回復 2023-02-23
  • 3 回答
  • 0 關注
  • 229 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號