【问题标题】:Select row in custom list view and add action bar item在自定义列表视图中选择行并添加操作栏项
【发布时间】:2015-12-07 13:31:40
【问题描述】:

我有一个带有自定义列表视图的 android 应用程序。我想实现以下情况...

我的片段视图中有一个OnItemLongClickListener 方法:

CustomListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
            Log.e("-->", "HELLO WORLD");
            return false;
        }
    });

如果检测到长按,我想显示选择多行的选项,-有点像下面的截图:

我还想让ActionBar 项目可见,它一直是隐藏的。

我该如何实现?

【问题讨论】:

  • 使用两个Listener,一个setOnLongClickListener,正常onItemClickListener,初始保持onItemClickListener(null)。在 Listview.setOnLongClikListener 中启动 onItemClickListener。认为这样就可以了,并且不要忘记将您的 android:choicemode="multipechoice" 保留在 listview xml 中。

标签: android listview android-custom-view


【解决方案1】:

要使用支票簿,您必须在数组列表中使用一个标志,当您长按时,默认情况下每个列表项都应为 true,您将为所有列表项设置 falg false 并调用适配器的 setdatanotifychanged 方法以及何时您选择每个项目,然后您应该将标志值设置为 true。

操作栏 - 隐藏和显示

要隐藏Action Bar,使用getSupportActionBar()调用hide()方法[getActionBar() in case of minSDKVersion is 11 or higher]如下所示:

getSupportActionBar().hide();
// If your minSdkVersion is 11 or higher, instead use:
//getActionBar().hide();

要显示Action Bar,使用getSupportActionBar()调用show()方法[getActionBar() in case of minSDKVersion is 11 or higher]如下所示:

getSupportActionBar().show();
// If your minSdkVersion is 11 or higher, instead use:
//getActionBar().show();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    • 2015-07-16
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多