2012-04-04 92 views
2

我的「圖形設計」在文本視圖下有四行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> 

的問題是,當我在模擬器上運行我的應用程序的textviews出現就像設計,但列表視圖不會出現在它下面。這是爲什麼發生。

實驗中,我從我的代碼中刪除了列表視圖,而不是按鈕。當我運行我的應用程序時,textview和button都出現在仿真器中,就像設計一樣。

那麼我的代碼有什麼問題?我是否在列表視圖中缺少一些屬性? 我是一個總的新手,所以我知道我可以做一個很基本的錯誤

+0

你有在ListView任何項目? – 2012-04-04 14:04:19

回答

0

你在你的listview中添加了一個元素嗎? 不知道這是否是解決方案 - 不太經常使用模擬器,但嘗試一下。

+0

是!這就是解決方案 – arjukhan 2012-04-04 14:55:58

2

是否經由某種在你的代碼Adapter填充ListView數據?如果列表中沒有任何項目,則它將「不可見」,因爲它沒有任何顯示內容。

如果是的話,您可以使用帶模擬器的Hierarchy Viewer工具來分析您的佈局如何呈現,並查看ListView的位置。

您也可以嘗試layoutopt以確保您爲整個屏幕使用最佳佈局。我看到很多嵌套的LinearLayouts,可能會被刪除,例如,TableLayout

+0

我會試用u'v提到的工具..感謝 – arjukhan 2012-04-04 14:54:48

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); 
+0

thnks to the repliers!你們都正確!我並沒有打算爲清單建立數據。我以爲我可以先測試佈局..現在我已經完成了這個任務..它的工作非常完美:D – arjukhan 2012-04-04 14:51:50

+0

很高興能有幫助:) – Ant4res 2012-04-06 13:40:53

相關問題