0

正如我们通常看到的,listview 是逐行渲染的。

但是我想通过设置项目的左侧和顶部来将其项目设置在其中的任何位置。首先,我认为列表视图需要另一种布局,例如 relativelayout.right?所以我的问题是我们可以将RelativeLayout 设置为ListView 吗?如何?

我的代码是

listView.setLayoutParams(new RelativeLayout.LayoutParams(300, 300));

不幸的是,它不起作用!

但下面的代码工作正常:

listView.setLayoutParams(new LinearLayout.LayoutParams(300, 300));

有人可以告诉我它有什么问题吗?有没有更好的方法来解决我的问题?

4

2 回答 2

0

在您的情况下,您根本不需要 ListView 。正如参考所说, http: //developer.android.com/reference/android/widget/ListView.html ListView 只能显示垂直滚动列表中的项目。只需创建相对布局并手动添加子视图。

于 2012-08-07T06:42:45.963 回答
0

为项目创建类似这样的 XML 文件ListView

listview_item.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="wrap_content" >

  <TextView 
     android:id="@+id/text1"
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" />
</RelativeLayout>

然后在ListView_Adapter课堂上做:

public class ListView_Adapter extends ArrayAdapter<String>
{
    public ListView_Adapter(Context c)
    {
        super(c, R.layout.listview_item);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent)
    {
  //
    }
}
于 2012-08-07T06:45:10.597 回答