2013-04-08 27 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作爲第二個參數。

相關問題