2012-04-04 14 views
2

私の "グラフィックデザイン"には4行のtextviewsとlistviewがtextviewの下にあり、すべてが線形レイアウトでネストされています。問題は、私はエミュレータ上で自分のアプリケーションを実行するとtextviewsだけのデザインのように見えるが、リストビューは、その下に表示されないということであるネストされた線形レイアウトのリストビューがランタイムに表示されない

<?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> 

を次のようにデザインの背後にある

私のXMLコードです。なぜこうなった。

私は実験的に私のコードからリストビューを削除し、その代わりにボタンを消しました。私は私のアプリを走らせたときに、テキストビューとボタンの両方がデザインのようにエミュレータに現れました。

私のコードの問題点は何ですか?私はリストビューでいくつかの不動産を逃していますか? 私は

+0

ListViewにアイテムがありますか? –

答えて

0

あなたのリストビューに要素を追加しましたか? これが解決策であるかどうかわかりません。エミュレータで頻繁には動作しませんが、試してみてください。

+0

うん!それは解決策です – arjukhan

2

あなたのコード内Adapterのいくつかの種類を介してデータをListViewを移入しています非常に基本的な間違いを作ることができ知っているので、私は合計初心者ですか?リストにアイテムがない場合は、表示されないため「不可視」になります。

この場合、エミュレータでHierarchy Viewerツールを使用して、レイアウトのレンダリング方法を分析し、ListViewの位置を確認できます。

layoutoptを試して、画面全体に最適なレイアウトを使用していることを確認することもできます。おそらくTableLayoutのように入れ子にされたLinearLayoutsがたくさん見えます。

+0

私は言われたツールを試してみるでしょう..thanks – arjukhan

0

あなたのコードは正しいです。おそらくあなたのコードのリストには記入されていません。 あなたのonCreate()メソッドに次の行を追加するたとえば、試してみてください。

リストビューlst_projlist =(リストビュー)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!すべて正しい!私はリストのためのデータを設定するのに気にしなかった。最初にレイアウトをテストすることができたと思った。それは私がそれを行ったことを完全に示している:D – arjukhan

+0

喜んで助けになる:) – Ant4res

関連する問題