我的“图形设计”在textview下面有四行textview和一个listview,所有内容都嵌套在线性布局中。
设计背后的我的xml代码如下
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:gravity="left" android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView android:id="@+id/tvs_pname"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="Project Name:" android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView android:id="@+id/tv_pname"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="Large Text" android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView android:id="@+id/tvs_pamount" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="Budgeted Amout:"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView android:id="@+id/tv_pamount" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView android:id="@+id/tvs_pstartdate"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="Start Date:" android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView android:id="@+id/tv_pstartdate"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="Large Text" android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView android:id="@+id/tvs_penddate"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="End Date:" android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView android:id="@+id/tv_penddate" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
</LinearLayout>
<LinearLayout android:layout_height="fill_parent"
android:layout_width="fill_parent" android:orientation="vertical">
<ListView android:id="@+id/lst_projlist"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</ListView>
</LinearLayout>
</LinearLayout>
问题在于,当我在模拟器上运行我的应用时,文本视图就像设计一样,但列表视图不会出现在它下面。为什么会这样呢?
实验上我从我的代码中删除了listview,而在那里删除了一个按钮。当我运行我的应用程序时,textview和按钮都出现在模拟器中,就像设计一样。
那么我的代码有什么问题?我在列表视图中遗漏了一些属性吗? 我是个新手,所以我知道我可能会犯一个非常基本的错误
答案 0 :(得分:2)
您是否在代码中通过某种ListView
填充了Adapter
数据?如果列表中没有任何项目,它将是&#34;隐藏&#34;因为它没有任何东西可以展示。
如果是,您可以使用Hierarchy Viewer工具与模拟器分析您的布局呈现方式,并查看ListView的位置。
您也可以尝试使用layoutopt来确保为整个屏幕使用最佳布局。我看到很多嵌套的LinearLayouts
可能会被淘汰,比如TableLayout
。
答案 1 :(得分:0)
您是否在列表视图中添加了一个元素? 不知道这是否是解决方案 - 不是经常使用模拟器,而是尝试它。
答案 2 :(得分:0)
你的代码是对的。可能你没有填写代码中的列表。 例如,尝试将此行添加到onCreate()方法中:
ListView lst_projlist =(ListView)findViewById(R.id.lst_projlist);
for (int i=0; i<10;i++)
elements.add("element "+i);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, elements);
lst_projlist.setAdapter(adapter);