2013-02-22 37 views
0

我的主屏幕是一個RelativeLayout,它在2個TableLayouts之上包含一個ListView頂部的ListView。調整RelativeLayout會導致listview丟失選擇,更多

我隨意展示/隱藏各個部分。但是,我第一次添加LinearLayout時,ListView失去了它的選擇,並且底部的TableLayout消失了。第一次之後,一切正常。

任何想法是怎麼回事?

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <LinearLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/sort_header" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:background="@color/sorting" 
     android:orientation="vertical" 
     android:paddingBottom="10dp" 
     android:paddingTop="10dp" > 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <TextView 
       android:layout_width="80dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:gravity="left" 
       android:text="Sort Order" 
       android:textSize="18sp" 
       android:paddingLeft="12dip" 
       android:textStyle="bold" /> 

      <TextView 
       android:layout_width="80dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:gravity="left" 
       android:text="Score Mode" 
       android:textSize="18sp" 
       android:paddingLeft="12dip" 
       android:textStyle="bold" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <Spinner 
       android:id="@+id/sort_spinner" 
       android:layout_width="80dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:entries="@array/sort_array" 
       android:prompt="@string/sort_prompt" /> 

      <Spinner 
       android:id="@+id/score_spinner" 
       android:layout_width="80dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:entries="@array/score_array" 
       android:prompt="@string/score_prompt" /> 
     </LinearLayout> 
    </LinearLayout> 

    <ListView 
     android:id="@+id/score_list" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_above="@+id/keyboard" 
     android:layout_below="@+id/sort_header" 
     android:choiceMode="singleChoice" 
     android:divider="#CCCCCC" 
     android:dividerHeight="1dp" 
     android:listSelector="@drawable/selector" /> 

    <TableLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/keyboard" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/keyboardSave" 
     android:background="#000000" 
     android:paddingBottom="0dip" 
     android:paddingLeft="0dip" 
     android:paddingRight="0dip" 
     android:paddingTop="2dip" > 

     <TableRow 
      android:id="@+id/tableRow1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:padding="0dip" > 

      <Button 
       android:id="@+id/keyboard1" 
       style="@style/keyboardButton" 
       android:background="@drawable/button_bg" 
       android:text="1" /> 

      <Button 
       android:id="@+id/keyboard2" 
       style="@style/keyboardButton" 
       android:background="@drawable/button_bg" 
       android:text="2" /> 

      <Button 
       android:id="@+id/keyboard3" 
       style="@style/keyboardButton" 
       android:background="@drawable/button_bg" 
       android:text="3" /> 

      <Button 
       android:id="@+id/keyboardp10" 
       style="@style/keyboardButton" 
       android:background="@drawable/button_bg" 
       android:text="+10" /> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:padding="0dip" > 

      <Button 
       android:id="@+id/keyboard4" 
       style="@style/keyboardButton" 
       android:background="@drawable/button_bg" 
       android:text="4" /> 

      <Button 
       android:id="@+id/keyboard5" 
       style="@style/keyboardButton" 
       android:background="@drawable/button_bg" 
       android:text="5" /> 

      <Button 
       android:id="@+id/keyboard6" 
       style="@style/keyboardButton" 
       android:background="@drawable/button_bg" 
       android:text="6" /> 

      <Button 
       android:id="@+id/keyboardp1" 
       style="@style/keyboardButton" 
       android:background="@drawable/button_bg" 
       android:text="+1" /> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:padding="0dip" > 

      <Button 
       android:id="@+id/keyboard7" 
       style="@style/keyboardButton" 
       android:background="@drawable/button_bg" 
       android:text="7" /> 

      <Button 
       android:id="@+id/keyboard8" 
       style="@style/keyboardButton" 
       android:background="@drawable/button_bg" 
       android:text="8" /> 

      <Button 
       android:id="@+id/keyboard9" 
       style="@style/keyboardButton" 
       android:background="@drawable/button_bg" 
       android:text="9" /> 

      <Button 
       android:id="@+id/keyboardm1" 
       style="@style/keyboardButton" 
       android:background="@drawable/button_bg" 
       android:text="-1" /> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:padding="0dip" > 

      <Button 
       android:id="@+id/keyboardDel" 
       style="@style/keyboardButton" 
       android:background="@drawable/button_list" 
       android:text="Del" 
       android:textColor="#FF2C00" /> 

      <Button 
       android:id="@+id/keyboard0" 
       style="@style/keyboardButton" 
       android:background="@drawable/button_list" 
       android:text="0" /> 

      <Button 
       android:id="@+id/keyboardPosNeg" 
       style="@style/keyboardButton" 
       android:background="@drawable/button_list" 
       android:text="+/-" /> 

      <Button 
       android:id="@+id/keyboardm10" 
       style="@style/keyboardButton" 
       android:background="@drawable/button_list" 
       android:text="-10" /> 
     </TableRow> 
    </TableLayout> 

    <TableLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/keyboardSave" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:background="#000000" 
     android:padding="0dip" > 

     <TableRow 
      android:id="@+id/tableRow5" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:paddingBottom="0dip" 
      android:paddingLeft="0dip" 
      android:paddingRight="0dip" 
      android:paddingTop="2dip" > 

      <Button 
       android:id="@+id/keyboardSaveButton" 
       style="@style/keyboardButton" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/save_button" 
       android:text="Save" /> 
     </TableRow> 
    </TableLayout> 

</RelativeLayout> 

我隱藏的LinearLayout在OnCreate:

sortHeader.setVisibility(LinearLayout.GONE); 

下面是確實的顯示/隱藏功能:

public void showOptions() { 
    if (menuOptions.getTitle() != getString(R.string.show_options)) { 
     menuOptions.setTitle(R.string.show_options); 
     sortHeader.setVisibility(LinearLayout.GONE); 
    } else { 
     menuOptions.setTitle(R.string.hide_options); 
     sortHeader.setVisibility(LinearLayout.VISIBLE); 
    } 
} 

在此圖像中可以看到的部分。當我首先使排序部分可見時,保存按鈕和選擇都消失。

enter image description here

這是一個之前和之後。首先,沒有排序,然後一旦我添加他們的選擇和按鈕消失。

enter image description here

回答

0

儘量讓列表視圖裏面LinearLayout..may是它會有所幫助..!

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/keyboard" 
    android:layout_below="@+id/sort_header"> 

    <ListView 
     android:id="@+id/score_list" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:choiceMode="singleChoice" 
     android:divider="#CCCCCC" 
     android:dividerHeight="1dp" 
    /> 

</LinearLayout> 
相關問題