【发布时间】:2023-04-11 05:08:01
【问题描述】:
我正在尝试直接在活动的onCreate() 方法中扩充LinarLayout 中的视图列表。但是,我在代码的某个地方遇到了问题但我真的看不到它,我这两天都在转这个问题,我要疯了!
问题是当我运行activity时,线性布局完全是空的,只有标题。
这里是代码的重要部分,KeyItems 活动:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.keyitems_layout);
initializer();
ll = (LinearLayout) findViewById(R.id.ll);
LayoutInflater inflater = LayoutInflater.from(this);
for (int i = 0; i < list.size(); i++) {
View view = inflater.inflate(R.layout.keyitem_temp, ll, false);
final TextView ind = (TextView) view.findViewById(R.id.ind);
final TextView item = (TextView) view.findViewById(R.id.item);
ind.setText(list.get(i).get("id"));
item.setText(list.get(i).get("item"));
ll.addView(view);
}
}
这里是keyitems_layout:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/black" >
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/black">
<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp" />
<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/key_items"
android:textSize="36sp"
android:textColor="@color/white" />
<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="4dp" />
<LinearLayout android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="32dp"
android:layout_marginRight="32dp"
android:orientation="vertical"
android:background="@color/white" >
</LinearLayout>
<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:text="caca"
android:padding="32dp" />
</LinearLayout>
</ScrollView>
最后,我的keyitem_temp.xml 正在膨胀:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/black"
android:padding="4dp"
android:orientation="horizontal" >
<TextView android:id="@+id/ind"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
android:textSize="18sp"
android:textColor="@color/blue" />
<TextView android:id="@+id/item"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
android:textSize="18sp"
android:textColor="@color/white"/>
</LinearLayout>
我有一个名为 ItemsActivity 的其他活动,它是相同的代码,但有一些细微差别,并且可以正常工作。有什么建议吗?提前致谢。
【问题讨论】:
-
您必须为此使用
ListView,而不是自己将视图添加到LinearLayout,这是ListView的目的。 -
我以前有一个列表视图,但由于实际原因我改变了,但是它适用于我的其他活动,为什么它不能在这个活动中工作?
-
您确定要将@+id/ll 的高度设为“match_parent”吗?
-
您确定
list.get(i).get("id")包含值吗?另外,您是否尝试过在@+id/ind上使用layout_weight属性? -
完全确定,是的,我比我已经尝试过的事情...
标签: java android xml android-layout layout-inflater