android-listview中的隐藏字段,使用自定义游标适配器

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以及

在我的应用程序中,我有一个listview,当你点击一个项目时,我希望一个dialogfragment出现,其中包含详细信息。listview使用自定义游标适配器填充,每一行都是从relativelayout扩展而来的视图

我的想法是,我在自定义视图中会有某种id值,当选中时,该id将用于新的db查询以填充dialogfragment。但是,我不希望视图中的id在行中,我希望它隐藏

我认为我创建了一个自定义视图类,它是从relativelayout扩展而来的,在视图中有一个字段,它将保存id以及两个TextView

我的主要问题是如何在适配器内使用自定义视图。我发现的每个示例都会在newview中膨胀xml布局,但我的xml布局将不包括id字段

我可以在newview中为我的视图创建一个新对象,而不是膨胀xml吗

还是我遗漏了一些明显的东西


谢谢

似乎您可以使用标签,这样会更简单

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。这一切听起来都很有希望,让我现在试试,让你知道我是怎么做的。如果它有效,你可以把它作为一个答案,我会接受。