程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> listview-如何隱藏 ListView 中的一些 cell?

listview-如何隱藏 ListView 中的一些 cell?

編輯:編程綜合問答
如何隱藏 ListView 中的一些 cell?
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewTag viewTag;
    if(convertView == null) {
        convertView = myInflater.inflate(R.layout.row_item, null);
        viewTag = new ViewTag((LinearLayout)convertView.findViewById(R.id.row), (TextView)convertView.findViewById(R.id.tv));
        convertView.setTag(viewTag);
    }
    else {
        viewTag = (ViewTag) convertView.getTag();
    }

    viewTag.tv.setText(lvt.getTextAt(position));
    viewTag.tv.setVisibility(View.VISIBLE);
    boolean show = lvt.getShowAt(position);
    if(show) {
        viewTag.tv.setVisibility(View.GONE);
        viewTag.ll.setVisibility(View.GONE);
    }
    else {
        viewTag.ll.setVisibility(View.VISIBLE);
    }
    return convertView;
}

我使用上面的代碼在 BaseAdapter中顯示list view。
Lvt是一個程序中的全局數據。
如果顯示是 true,我想隱藏 cell,但不能刪除數據。
但是我的方法不顯示數據,但是顯示分割線。
如何隱藏 ListView 中的一些 cell?

最佳回答:


直接item設置Visable和Gone是不能解決的,因為還是會留下一個null的item(占位置)
最好的方法就是構建數據的時候,類似List<Bean> beans這種

Bean中有屬性

private boolean isVisable = false;
//getter setter
public void setVisable(boolean isVisabele) {
this.isVisable = isVisable;
}

public boolean isVisable(){
return this.isVisable();
}

直接在setAdapter前把isVisable = gone 的排除掉
再設置adapter,把去除後的List傳遞進去

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved