0

我为表格设计了一个两窗格的 UI。在左窗格中,我正在显示列表视图,在右窗格中,我正在显示列表详细信息。我想显示用户单击的列表行并在右窗格中显示其显示。

所以我设置下面的代码来选择项目。

 android:choiceMode="singleChoice"
 android:background="@drawable/selector_list_view"

列表布局在下面的布局文件中。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="1dp"
android:background="@drawable/bg_dialog_fragment">


    <Button     
        android:id="@+id/SortByTitle"
        android:layout_width="0dip"
        android:textColor="@color/solid_black"
        android:background="@drawable/sort_button_selected"
        android:layout_height="wrap_content"
        android:layout_marginRight="0dip"
        android:paddingTop="5dip"
        android:paddingBottom="5dip"
        android:paddingRight="8dip"
        android:textSize="15sp"
        android:textStyle="bold"
        android:layout_weight="0.5"
        android:text="@string/project"
        android:drawablePadding="5dip"
        android:drawableRight="@drawable/up_arrow"/>
    <Button
        android:id="@+id/SortByDate" 
        android:textColor="@color/solid_black"
        android:background="@drawable/sort_button_unselected"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:paddingTop="5dip"
        android:layout_marginLeft="0dip"
        android:paddingBottom="5dip"
        android:textStyle="bold"
        android:textSize="15sp"
        android:layout_weight="0.5"
        android:drawablePadding="5dip"
        android:paddingRight="8dip"
        android:text="@string/due_date"/>
</LinearLayout>

<TextView
    android:paddingRight="1dp"        
    android:layout_marginRight="1dp"
    android:id="@+id/TextViewTitle"
    style="@style/title_style"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/SortOrder"
    android:text="@string/workflow_incourt" />

  <RelativeLayout
    android:layout_marginRight="1dp"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_above="@+id/SearchFooter"
    android:layout_below="@+id/TextViewTitle"
    android:background="@color/solid_white"
   >

    <ListView
        android:id="@+id/ListViewProject"
        style="@style/listview_style"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:choiceMode="singleChoice"
        android:background="@drawable/selector_list_view" />

</RelativeLayout>

而drawable是

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_checked="true" android:state_focused="true" android:drawable="@android:color/background_dark" />
<item android:state_checked="true" android:state_focused="false" android:drawable="@android:color/background_dark" />
<item android:state_selected="true" android:drawable="@android:color/background_dark"/>
<item android:state_checkable="true" android:drawable="@android:color/background_dark"/>

但它仍然没有显示选定的列表行。我还需要做些什么来实现这一目标。

还附上了所选项目的屏幕截图。在此处输入图像描述

4

1 回答 1

0

我认为您可以仅在一个变量中跟踪您选择的项目 ID。然后在:

  • 如果 ID 与您设置的存储的 ID 匹配(例如红色),则 GetView 适配器
  • OnListItemClickListener 您通过用新 ID ref 替换旧 ID 来删除它
于 2012-05-26T14:37:22.333 回答