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);
}
}
在此圖像中可以看到的部分。當我首先使排序部分可見時,保存按鈕和選擇都消失。
這是一個之前和之後。首先,沒有排序,然後一旦我添加他們的選擇和按鈕消失。