【问题标题】:Complex ListView example with complex data and complex layout of each row?具有复杂数据和每行复杂布局的复杂 ListView 示例?
【发布时间】:2011-01-17 12:41:31
【问题描述】:

我从数据库调用中提取产品对象列表,并且我想在我的活动中使用非滚动页眉和页脚构建数据的 ListView。每行将包含一个产品缩略图、一些数据和一个水平排列的按钮。我知道使用 ListView 我可以使用单独的布局来填充每一行。

我看到的大多数使用 ListView 的示例只显示了一个简单的字符串数组,这些字符串填充了整个活动视图,但大多数实际示例会更加复杂,我找不到任何好的示例来解释所有这些部件组合在一起。

有没有人有任何关于示例代码的指针并有很好的解释?

【问题讨论】:

    标签: android listview layout


    【解决方案1】:

    一个对我帮助很大的例子:

    http://android-developers.blogspot.com/2009/02/android-layout-tricks-1.html

    我希望这对你也有用。

    【讨论】:

    • 第一个链接失效了可以提供替代品吗?谢谢。
    • 第一个链接已经失效,第二个链接只是讨论布局,没有解释如何填充布局
    【解决方案2】:
    private static class CustomCursorAdapter extends CursorAdapter {
    
        protected ListView mListView;
    
        protected static class RowViewHolder {
            public TextView mTitle;
            public TextView mText;
        }
    
        public CustomCursorAdapter(Activity activity) {
            super();
            mListView = activity.getListView();
        }
    
        @Override
        public void bindView(View view, Context context, Cursor cursor) {
            // do what you need to do
        }
    
        @Override
        public View newView(Context context, Cursor cursor, ViewGroup parent) {
            View view = View.inflate(context, R.layout.row_layout, null);
    
            RowViewHolder holder = new RowViewHolder();
            holder.mTitle = (TextView) view.findViewById(R.id.Title);
            holder.mText = (TextView) view.findViewById(R.id.Text);
    
            holder.mTitle.setOnClickListener(mOnTitleClickListener);
            holder.mText.setOnClickListener(mOnTextClickListener);
    
            view.setTag(holder);
    
            return view;
        }
    }
    

    【讨论】:

      【解决方案3】:

      在 ListView 中拥有复杂行的最简单方法是通过 SimpleAdapter。这方面有很多例子。

      要强制 ListView 填充屏幕的剩余部分,请按如下方式设置属性:

      使用线性布局。

      在列表视图中:

      android:layout_height="fill_parent",
      android:height="0dp",
      android:layout_weight="1"
      

      在所有其他小部件上:

      android:layout_height="wrap_content"
      

      不要设置高度或布局重量

      【讨论】:

      • 另一个也不显示主要布局 XML 的示例。通常,应用程序将有一个标题、一个项目列表,可能还有一些靠近底部的小部件。不知道如何让底部小部件留在底部而不是接管整个父级。我希望列表视图扩展以填充页眉和页脚小部件之间的空间,但之后它应该只是滚动而不影响它们。
      猜你喜欢
      • 1970-01-01
      • 2012-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多