问题描述
我搜索了高低,我开始认为这是不可能的,但我有一个自定义 ListView,它处于膨胀的布局中并放在一个弹出窗口上。这些线是使用适配器由布局文件制成的。列表中的每一项都是可点击的,并将用户带到不同的列表。我还想这样做,当我长按一个项目时,它选择该项目,然后允许我选择多行,然后我有一个单独的按钮来删除它们。需要明确的是,我不希望每一行都有一个复选框(没有空间)。只是要突出显示的行。我被困在“选择该项目”部分,更不用说“选择多行”了。我将把我的代码截断到相关部分。注意:masterRecord 是 ListView 的名称。
initModel()
private void fillList() {
int numRows = mainDB.numRowsMaster();
if (numRows == 0) {
Toast.makeText(getApplicationContext(),"Nothing to load!",Toast.LENGTH_SHORT).show();
return;
}
cursor = mainDB.getAllRowsMaster();
startManagingCursor(cursor);
String[] fromFieldNames = new String[]{DBAdapter.KEY_MASNAMECOL,DBAdapter.KEY_MASLASTDATECOL,DBAdapter.KEY_MASTOTALTIMEASCLOCKCOL};
int[] toViewIds = new int[]{R.id.rowName,R.id.rowLastDate,R.id.rowTotalTime};
SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this,R.layout.master_list_row,cursor,fromFieldNames,toViewIds);
masterRecord.setAdapter(cursorAdapter);
masterRecord.setLongClickable(true);
}
吐司只是为了让我可以看到屏幕上正在运行或未运行的内容。 “这管用吗?”是我长按时唯一显示的内容。什么都没有被选中,如果我一直长按,它只会继续做同样的事情。如果我然后短按,它只会执行正常的短按操作。
我找到了 Checkable 小部件并兴奋不已,但似乎也无法让它发挥作用。我见过的教程和其他信息为 ListView 提供了一个单独的类,但这似乎有点过分了。这真的是唯一的方法吗?如果我错过了任何相关代码,请告诉我,我将进行编辑以包括在内。谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)