2012-03-16 3 views
1

私のレイアウトは、リストに多くの項目を取得してから、そのリストがEdittextとButton要素をカバーしているように思えます。Android:ListView他の要素の上に

私は何が間違っているのか分かりません。 ListViewを設定すると、layout_height = "fill_parent"は、リストが空の場合でもボタンをカバーしていました。

これはかなり単純なレイアウトにする必要があります。私は1時間以上それを乱して過ごしました。

助けが必要ですか?

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:orientation="vertical" > 

    <EditText 
     android:id="@+id/txt_editText" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:hint="@string/str_addSnippetHint" /> 

    <Button 
     android:id="@+id/btn_addSnipet" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="@string/addSnippet" /> 
</LinearLayout> 

<ListView 
    android:id="@android:id/list" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_above="@id/txt_editText" 
    android:layout_alignParentTop="true" 
    android:drawSelectorOnTop="false" /> 

+0

をレイアウトには2つのトップレベル要素があるようです。それがあなたの実際のコードなら、コンパイルすべきではありません。ここには、これらの両方を含むRelativeLayoutがあるというヒントがあります。レイアウトの全体を投稿して、実際に何が起こっているかを確認してください。 –

+0

実際、それが全体です。 – Doug

答えて

3

は、ボタンの後のLinearLayoutタグ内にこれを入れ

<ListView 
android:id="@android:id/list" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_alignParentTop="true" 
android:drawSelectorOnTop="false" /> 


Remove this line android:layout_above="@id/txt_editText" 

そして、あなたがボタンの上にリストビューを表示したい場合は、相対layout.Andを使用し、その後相対性理論

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
> 
<EditText 
    android:id="@+id/txt_editText" 
    android:layout_width="fill_parent" android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_height="wrap_content" 
    android:hint="@string/str_addSnippetHint" /> 
<Button android:id="@+id/btn_addSnipet" android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/addSnippet" /> 
<ListView android:id="@android:id/list" 
android:layout_width="fill_parent" android:layout_above="@+id/btn_addSnipet" 
android:layout_height="wrap_content"  android:layout_above="@id/txt_editText" 
android:layout_alignParentTop="true" android:drawSelectorOnTop="false" /> 
</RelativeLayout> 
+0

これは有望そうです!私は最終的な答えをマークする前に、他の答えを試してみます。応答する時間をとっていただきありがとうございます。 – Doug

+0

あなたは+1で感謝することができます。そして、あなたの問題を解決するのに役立つなら受け入れます。 – Sameer

+0

私はあなたの2番目の提案でXMLを使いました。素晴らしい仕事を!ありがとう。 – Doug

0

追加あなたの代わりに別のレイアウトを作成するLinearLayout内部ListView ..

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:orientation="vertical" > 

    <EditText 
     android:id="@+id/txt_editText" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:hint="@string/str_addSnippetHint" /> 

    <Button 
     android:id="@+id/btn_addSnipet" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="@string/addSnippet" /> 
<ListView 
    android:id="@android:id/list" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_above="@id/txt_editText" 
    android:layout_alignParentTop="true" 
    android:drawSelectorOnTop="false" /> 

</LinearLayout> 
+0

あなたの例を試しましたが、私はこれをボタンの下に置いています。私は順序を入れ替え、リストは一番下にありましたが、項目の全画面を追加すると、編集ボックスとボタンが画面の一番下から押し出されました。 – Doug

+0

@Doug: 'ListView'はスクロール可能ですか? –

+0

はい、私はそう思います。私が下に提出した例を試してみると、それはすべきであるようにスクロールしました。 – Doug

0

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:orientation="vertical" > 

<EditText 
    android:id="@+id/editText" 
    android:layout_width="fill_parent" 
    android:layout_alignParentLeft="true" 
    android:layout_height="wrap_content" 
    android:hint="edittext" /> 
    <Button 
     android:id="@+id/btn_addSnipet" 
     android:layout_alignParentRight="true" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="button" /> 
    <ListView 
     android:id="@android:id/list" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_above="@id/txt_editText" 
     android:layout_alignParentTop="true" 
     android:drawSelectorOnTop="false" /> 
</LinearLayout> 
+0

応答をありがとうが、私はこのレイアウトを動作させることができませんでした。このような「無効なレイアウトパラメータ」メッセージ(「LinearLayoutのレイアウトパラメータが無効です:layout_alignParentRight」)が多すぎます。 – Doug

0

trythisあなたのコードの代わりにこれを試して設定します。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" android:orientation="vertical"> 

    <ListView android:id="@android:id/list" android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:layout_alignParentTop="true" 
     android:drawSelectorOnTop="false" /> 

    <RelativeLayout android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:layout_alignParentBottom="true" 
     android:layout_above="@id/list"> 
     <EditText android:id="@+id/txt_editText" 
      android:layout_width="fill_parent" android:layout_height="wrap_content" 
      android:layout_weight="1" android:hint="@string/str_addSnippetHint" /> 

     <Button android:id="@+id/btn_addSnipet" android:layout_width="fill_parent" 
      android:layout_height="wrap_content" android:layout_weight="1" 
      android:layout_below="@id/txt_editText" android:text="@string/addSnippet" /> 
    </RelativeLayout> 

</RelativeLayout> 
+0

応答いただきありがとうございますが、このレイアウトを動作させることができませんでした。このような "無効なレイアウトパラメータ"メッセージ(「RelativeLayoutのレイアウトパラメータが無効です:layout_weight」)が多すぎます。 – Doug

関連する問題