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);
}
}
ListView被添加到它的父级?通常你想在add()方法中使用LayoutParams设置宽度和高度。 – thomas88wp 2013-04-08 03:15:30
每次调用它时都会被添加:'mContainer.addView(mColumns.get(“reditr”)。getColumnView());' – vivatus 2013-04-08 03:39:32
啊,刚刚意识到我必须做的事情。我将代码更改为:'mContainer.addView(mColumns.get(“reditr”)。getColumnView(),new ViewGroup.LayoutParams(400,ViewGroup.LayoutParams.MATCH_PARENT));' – vivatus 2013-04-08 03:44:28