Android ListView singleChoice选项模式不工作

Android ListView singleChoice选项模式不工作,android,listview,android-listview,Android,Listview,Android Listview,我试图制作一个简单的界面,允许用户点击列表中的单个项目,然后按下按钮将其删除。我将列表上的选择模式设置为singleChoice,但每当我点击一个项目时,它会高亮显示一小段时间,然后恢复正常。每当我按下删除按钮时,getSelectedItem和getSelected视图都返回null。以下是ListView代码: <ListView android:id="@+id/times" android:choiceMode="singleChoice" android:layo

我试图制作一个简单的界面,允许用户点击列表中的单个项目,然后按下按钮将其删除。我将列表上的选择模式设置为singleChoice,但每当我点击一个项目时,它会高亮显示一小段时间,然后恢复正常。每当我按下删除按钮时,getSelectedItem和getSelected视图都返回null。以下是ListView代码:

<ListView android:id="@+id/times"
    android:choiceMode="singleChoice"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/time"
    android:layout_above="@+id/every"/>
编辑:我正在尝试将此应用程序的最低API级别设置为10级,以备不时之需。

根据设计,列表项是不可选择的。你可以找到更多关于这方面的信息:

设想一个简单的应用程序,例如ApiDemos,它显示一个列表 文本项的数量。用户可以使用 轨迹球,他们也可以滚动和投掷列表使用自己的 手指。此场景中的问题是选择。如果我选择了一个 项目位于列表顶部,然后将列表抛向 下面,选择的内容会发生什么变化?它是否应该保留在屏幕上 项目并从屏幕上滚动?在这种情况下,如果我 然后决定用轨迹球移动所选内容?或者更糟,如果我 按轨迹球以作用于当前选定的项目,该项目为 不再在屏幕上显示。经过仔细考虑,我们决定 要完全删除所选内容

要使其可选,有两个选项:

  • 使用row item layout
    android.R.layout.simple\u list\u item\u single\u choice
    ,它为每一行呈现单选按钮。 使用ArrayAdapter,可以将此布局用作:

    listView.setAdapter(new ArrayAdapter<>(this,
                        android.R.layout.simple_list_item_single_choice,
                        dataArray));
    
    listView.setAdapter(新阵列适配器,
    android.R.layout.simple\u list\u item\u单选,
    数据阵列);
    
  • 使用选择器作为背景。你可以参考这篇文章来了解如何做到这一点-

  • 列表项不能按设计进行开箱即用选择。你可以找到更多关于这方面的信息:

    设想一个简单的应用程序,例如ApiDemos,它显示一个列表 文本项的数量。用户可以使用 轨迹球,他们也可以滚动和投掷列表使用自己的 手指。此场景中的问题是选择。如果我选择了一个 项目位于列表顶部,然后将列表抛向 下面,选择的内容会发生什么变化?它是否应该保留在屏幕上 项目并从屏幕上滚动?在这种情况下,如果我 然后决定用轨迹球移动所选内容?或者更糟,如果我 按轨迹球以作用于当前选定的项目,该项目为 不再在屏幕上显示。经过仔细考虑,我们决定 要完全删除所选内容

    要使其可选,有两个选项:

  • 使用row item layout
    android.R.layout.simple\u list\u item\u single\u choice
    ,它为每一行呈现单选按钮。 使用ArrayAdapter,可以将此布局用作:

    listView.setAdapter(new ArrayAdapter<>(this,
                        android.R.layout.simple_list_item_single_choice,
                        dataArray));
    
    listView.setAdapter(新阵列适配器,
    android.R.layout.simple\u list\u item\u单选,
    数据阵列);
    
  • 使用选择器作为背景。你可以参考这篇文章来了解如何做到这一点-

  • 列表项不能按设计进行开箱即用选择。你可以找到更多关于这方面的信息:

    设想一个简单的应用程序,例如ApiDemos,它显示一个列表 文本项的数量。用户可以使用 轨迹球,他们也可以滚动和投掷列表使用自己的 手指。此场景中的问题是选择。如果我选择了一个 项目位于列表顶部,然后将列表抛向 下面,选择的内容会发生什么变化?它是否应该保留在屏幕上 项目并从屏幕上滚动?在这种情况下,如果我 然后决定用轨迹球移动所选内容?或者更糟,如果我 按轨迹球以作用于当前选定的项目,该项目为 不再在屏幕上显示。经过仔细考虑,我们决定 要完全删除所选内容

    要使其可选,有两个选项:

  • 使用row item layout
    android.R.layout.simple\u list\u item\u single\u choice
    ,它为每一行呈现单选按钮。 使用ArrayAdapter,可以将此布局用作:

    listView.setAdapter(new ArrayAdapter<>(this,
                        android.R.layout.simple_list_item_single_choice,
                        dataArray));
    
    listView.setAdapter(新阵列适配器,
    android.R.layout.simple\u list\u item\u单选,
    数据阵列);
    
  • 使用选择器作为背景。你可以参考这篇文章来了解如何做到这一点-

  • 列表项不能按设计进行开箱即用选择。你可以找到更多关于这方面的信息:

    设想一个简单的应用程序,例如ApiDemos,它显示一个列表 文本项的数量。用户可以使用 轨迹球,他们也可以滚动和投掷列表使用自己的 手指。此场景中的问题是选择。如果我选择了一个 项目位于列表顶部,然后将列表抛向 下面,选择的内容会发生什么变化?它是否应该保留在屏幕上 项目并从屏幕上滚动?在这种情况下,如果我 然后决定用轨迹球移动所选内容?或者更糟,如果我 按轨迹球以作用于当前选定的项目,该项目为 不再在屏幕上显示。经过仔细考虑,我们决定 要完全删除所选内容

    要使其可选,有两个选项:

  • 使用row item layout
    android.R.layout.simple\u list\u item\u single\u choice
    ,它为每一行呈现单选按钮。 使用ArrayAdapter,可以将此布局用作:

    listView.setAdapter(new ArrayAdapter<>(this,
                        android.R.layout.simple_list_item_single_choice,
                        dataArray));
    
    listView.setAdapter(新阵列适配器,
    android.R.layout.simple\u list\u item\u单选,
    数据阵列);
    
  • 使用选择器作为背景。你可以参考这篇文章来了解如何做到这一点-

  • 这些