【问题标题】:Adding a footer View to a multi-column GridView in Android?将页脚视图添加到 Android 中的多列 GridView?
【发布时间】:2011-04-17 21:02:06
【问题描述】:

是否可以将页脚视图添加到 GridView(具有多个列),其行为类似于 ListView 的页脚?所以这个footer View(例如pager view)只有在用户滚动到GridView底部时才会出现,而且它的宽度是整个屏幕的宽度,而不是只有1个网格元素?

【问题讨论】:

    标签: android android-gridview


    【解决方案1】:

    不,抱歉,GridView 不提供此类功能。

    您提到将其用于“寻呼机视图”。如果您的意思是“单击此处获取更多信息”条目,那么一旦到达当前网格数据的末尾,我就会延迟加载数据。我的EndlessAdapter 处理了这个问题,虽然我没有用GridView 尝试过它,但它可能会起作用——至少我认为它应该起作用。

    【讨论】:

      【解决方案2】:

      在 gridview 适配器中你可以这样做:

      @Override
      public int getCount() {
          return (footerView == null) ? super.getCount() : super.getCount() + 1;
      }
      
      public void setFooterView(View v) {
          footerView = v;
      }
      
      // create a new view item referenced by the Adapter
      public View getView(int position, View convertView, ViewGroup parent) {
          if (footerView != null && position == getCount()-1) {
              return footerView;
          }
          ViewHolder holder;
          if (convertView == null) {  // if it's not recycled, initialize some attributes
              LayoutInflater lyinflater = LayoutInflater.from(mContext);
              View view = lyinflater.inflate(getLayoutItemId(), null);
              ...
              holder = new ViewHolder();
              ...
              convertView = view;
              view.setTag(holder);
          } else {
              holder = (ViewHolder)convertView.getTag();
          }
          ...
          return convertView;
      }
      

      编辑 对不起,我没有看最后一部分

      它有整个屏幕的宽度

      【讨论】:

      • 对不起...尝试您的答案后,这是一个错误:/ ....它创建了许多 footerViews ...
      • 通过添加以下代码来解决该错误: if (convertView!=null && convertView.findViewById(R.id.footerView) != null) { convertView = null; }
      猜你喜欢
      • 1970-01-01
      • 2016-07-16
      • 1970-01-01
      • 2014-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-05
      • 2012-08-28
      相关资源
      最近更新 更多