2

我正在尝试将 LinearLayout 添加到 GridView,但遇到了麻烦。基本上,我正在尝试制作一组​​带有图像的图标。(如 Launcher.app)

我看到的是,当我的 GridView 显示出来时,它并没有分成小图标。相反,每个图标都显示在自己的行中。相关文件和代码如下:

我的适配器:

    @Override public View getView(int position, View convertView, ViewGroup parent) {
            LinearLayout llView;
            ImageView imageView;
            TextView textView;
            if (convertView == null) {  // if it's not recycled, initialize some attributes
                LayoutInflater inflater = FolderSelectionActivity.this.getLayoutInflater();
                llView = (LinearLayout) inflater.inflate(R.layout.folder_view, null);
            } else {
                llView = (LinearLayout) convertView;
            }
            imageView = (ImageView) llView.findViewById(R.id.folder_image_view);
            textView = (TextView) llView.findViewById(R.id.folder_text_view);

            imageView.setImageBitmap(mDrive.getPreview(mFiles.get(position)));
            textView.setText(mFiles.get(position).getTitle());
            return llView;

我的视图的 xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="#FF0000FF"
    android:orientation="vertical"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content">

    <ImageView android:id="@+id/folder_image_view"
        android:scaleType="centerCrop"
        android:background="#FFFF0000"
        android:layout_width="100px"
        android:layout_height="100px"/>

    <TextView android:id="@+id/folder_text_view"
        android:background="#FF00FF00"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>

最后,我的活动布局:

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <GridView android:id="@+id/folder_grid_view"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>

  </RelativeLayout>

我已经尝试对我的 LinearLayout 进行各种调整,但我似乎找不到任何有效的方法。有人知道在这里做什么吗?

编辑:

imgur 截图:http: //imgur.com/PsSvW

4

1 回答 1

1

你为什么要将膨胀的视图投射convertView到一个LinearLayout?这不是必需的。删除 cast 语句后尝试(LinearLayout)。如果这没有帮助,您可以尝试单独构建TextViewandImageView并将它们添加到ViewGroup parentusingaddView()

于 2012-12-19T20:45:11.507 回答