android-listview中的隐藏字段,使用自定义游标适配器
在我的应用程序中,我有一个listview,当你点击一个项目时,我希望一个dialogfragment出现,其中包含详细信息。listview使用自定义游标适配器填充,每一行都是从relativelayout扩展而来的视图 我的想法是,我在自定义视图中会有某种id值,当选中时,该id将用于新的db查询以填充dialogfragment。但是,我不希望视图中的id在行中,我希望它隐藏 我认为我创建了一个自定义视图类,它是从relativelayout扩展而来的,在视图中有一个字段,它将保存id以及两个TextView 我的主要问题是如何在适配器内使用自定义视图。我发现的每个示例都会在newview中膨胀xml布局,但我的xml布局将不包括id字段 我可以在newview中为我的视图创建一个新对象,而不是膨胀xml吗 还是我遗漏了一些明显的东西android-listview中的隐藏字段,使用自定义游标适配器,android,android-custom-view,android-cursoradapter,Android,Android Custom View,Android Cursoradapter,在我的应用程序中,我有一个listview,当你点击一个项目时,我希望一个dialogfragment出现,其中包含详细信息。listview使用自定义游标适配器填充,每一行都是从relativelayout扩展而来的视图 我的想法是,我在自定义视图中会有某种id值,当选中时,该id将用于新的db查询以填充dialogfragment。但是,我不希望视图中的id在行中,我希望它隐藏 我认为我创建了一个自定义视图类,它是从relativelayout扩展而来的,在视图中有一个字段,它将保存id以及
谢谢似乎您可以使用标签,这样会更简单
view.setTag("myId");
// ...
String id = (String) view.getTag();
似乎您可以使用标记,这样会更简单
view.setTag("myId");
// ...
String id = (String) view.getTag();
似乎您可以使用标记,这样会更简单
view.setTag("myId");
// ...
String id = (String) view.getTag();
似乎您可以使用标记,这样会更简单
view.setTag("myId");
// ...
String id = (String) view.getTag();
在
onItemClick(AdapterView父项、视图、int位置、长id)中使用CursorAdapter
时,您可以获得:
基础游标的\u id
列-简单地说,它是此函数的长id
参数
在项目视图中可见或不可见但存在于光标中的任何列,方法是将项目的位置强制转换为光标,如:
Cursor c=(Cursor)parent.getItemAtPosition(位置)代码>
现在c
指向所选行,因此您可以从中获取任意列,只要var value=c.getInt/String/etc(c.getColumnIndex(“columnname”)代码>
在onItemClick(AdapterView父项、视图、int位置、长id)中使用CursorAdapter
时,您可以获得:
基础游标的\u id
列-简单地说,它是此函数的长id
参数
在项目视图中可见或不可见但存在于光标中的任何列,方法是将项目的位置强制转换为光标,如:
Cursor c=(Cursor)parent.getItemAtPosition(位置)代码>
现在c
指向所选行,因此您可以从中获取任意列,只要var value=c.getInt/String/etc(c.getColumnIndex(“columnname”)代码>
在onItemClick(AdapterView父项、视图、int位置、长id)中使用CursorAdapter
时,您可以获得:
基础游标的\u id
列-简单地说,它是此函数的长id
参数
在项目视图中可见或不可见但存在于光标中的任何列,方法是将项目的位置强制转换为光标,如:
Cursor c=(Cursor)parent.getItemAtPosition(位置)代码>
现在c
指向所选行,因此您可以从中获取任意列,只要var value=c.getInt/String/etc(c.getColumnIndex(“columnname”)代码>
在onItemClick(AdapterView父项、视图、int位置、长id)中使用CursorAdapter
时,您可以获得:
基础游标的\u id
列-简单地说,它是此函数的长id
参数
在项目视图中可见或不可见但存在于光标中的任何列,方法是将项目的位置强制转换为光标,如:
Cursor c=(Cursor)parent.getItemAtPosition(位置)代码>
现在c
指向所选行,因此您可以从中获取任意列,只要var value=c.getInt/String/etc(c.getColumnIndex(“columnname”)代码>
你想在哪里使用身份证?在麦克利克?如果已经有id传递给侦听器(最后一个long
),那么它是Cursorin onItemClick(使用CursorAdapter)中的\u id
字段的值,您还可以使用游标c=(游标)父项.getItemAtPosition(位置)代码>。。。现在在c
中,光标指向选中/选中的行。。。现在您可以执行var=c.getInt/String/etc(c.getColumnIndex(“未在项目视图中显示但在光标中的列”)
Yes我想在onItemClick中使用id。这一切听起来都很有希望,让我现在试试,让你知道我是怎么做的。如果它有效,你可以把它作为一个答案,我会接受。感谢这两个例子都能很好地工作,尽管能够访问所有光标信息很方便,但我认为上一篇文章中的_id就足够了。请添加一个答案,以便我可以accept@Selvin-请将您的评论输入到答案中,以便我可以接受您在哪里使用id?在麦克利克?如果已经有id传递给侦听器(最后一个long
),那么它是Cursorin onItemClick(使用CursorAdapter)中的\u id
字段的值,您还可以使用游标c=(游标)父项.getItemAtPosition(位置)代码>。。。现在在c
中,光标指向选中/选中的行。。。现在您可以执行var=c.getInt/String/etc(c.getColumnIndex(“未在项目视图中显示但在光标中的列”)
Yes我想在onItemClick中使用id。这一切听起来都很有希望,让我现在试试,让你知道我是怎么做的。如果它有效,你可以把它作为一个答案,我会接受。