2013-04-08 28 views
0

我想添加ListView的动态,但由于某些原因,它不让我设置ListView的宽度。我想知道你们是否可以帮助我。如何设置动态添加ListView的宽度?

我试图建立一个专栏设计(类似于Plume)。这是做这件事的最好方法吗?

这是我有:

package com.reditr.column; 

import java.util.HashMap; 

import android.view.ViewGroup; 
import android.widget.ListView; 

import com.reditr.connection.Reddit; 

public class ColumnManager { 

//some pointers to important vars 
private ViewGroup mContainer; 
private Reddit mConnection; 
private HashMap<String, Column> mColumns; 

public ColumnManager(ViewGroup parent, Reddit connection) { 

    mContainer = parent; 
    mConnection = connection; 
    mColumns = new HashMap<String, Column>(); 

      //creates listview here 
    mColumns.put("reditr", new Column("/r/reditr", null, mConnection, mContainer, "reditr", null)); 
    buildColumn(mColumns.get("reditr")); 

      //.getColumnView() returns the ListView Object 
    mContainer.addView(mColumns.get("reditr").getColumnView()); 
    mColumns.get("reditr").run(); 

    mColumns.put("gaming", new Column("/r/gaming", null, mConnection, mContainer, "gaming", null)); 
    buildColumn(mColumns.get("gaming")); 
    mContainer.addView(mColumns.get("gaming").getColumnView()); 
    mColumns.get("gaming").run(); 


} 

private void buildColumn(Column column) { 

    ListView columnView = column.getColumnView(); 

    columnView.setMinimumWidth(400); 
    columnView.setMinimumHeight(ViewGroup.LayoutParams.MATCH_PARENT); 

} 
} 
+0

ListView被添加到它的父级?通常你想在add()方法中使用LayoutParams设置宽度和高度。 – thomas88wp 2013-04-08 03:15:30

+0

每次调用它时都会被添加:'mContainer.addView(mColumns.get(“reditr”)。getColumnView());' – vivatus 2013-04-08 03:39:32

+0

啊,刚刚意识到我必须做的事情。我将代码更改为:'mContainer.addView(mColumns.get(“reditr”)。getColumnView(),new ViewGroup.LayoutParams(400,ViewGroup.LayoutParams.MATCH_PARENT));' – vivatus 2013-04-08 03:44:28

回答

0

您可以使用LayoutParams将它添加到其父时设置视图的布局宽度和高度。在addView(View, LayoutParams)中添加LayoutParams作为第二个参数。

相关问题