当前位置: 首页 > 知识库问答 >
问题:

在嵌套ListView中,如何设置内部视图的onItemClick以继承其父视图的onItemClick?

龚征
2023-03-14

这是我关于stackoverflow的第一个问题。

我的问题是,在我的Android应用程序中,有一个包含一些项目的列表视图,点击每个项目就会转换为一个新的片段。在项目本身中,有一个内部GridView来显示数组中的一些动态数据。

我担心的是,如果我单击该内部GridView的项,它将不会调用ListView的onItemClick方法,并且不会执行任何操作(因为我已将其设置为禁用)。我想要的是设置这些内部项不可点击,就像列表项中的TextView一样。

下面是我在父适配器的getView方法内部将适配器设置为内部GridView的代码行。

MyListAdapter{
......
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ......
    grid.setAdapter(new ArrayAdapter<>(this.mContext,R.layout.item,list));
    grid.setEnabled(false);
    return convertView;
}

谢谢你。

共有3个答案

章威
2023-03-14

我也有类似的设置。

其中包含ListView的视图。ListView的每个视图都有另一个Listview:

.ListView
...View1
......ListView
.........View1.1

...View2
......ListView
.........View2.1

我想点击View1。1.

所以我尝试将其添加到嵌套的ListViews getDataRow()方法中:

((ListView) parent).performItemClick(finalScrapView, position, 0);

它没有工作。

我的解决方案是调用父ListView的活动/类中定义的方法。

嵌套的ListViews getDataRow()方法现在有:

 ((MyActivity)parent).TestMethod();

MyActivity类方法的定义(作为示例)如下:

public void teste()
{
    Toast.makeText(App.getInstance().getApplicationContext(), "TESTE", Toast.LENGTH_SHORT).show();
}

这不是最好的实现,但由于performItemClick不起作用,我不能永远停留在那里,我不得不做这个“作弊”。

希望它能有所帮助。

慎弘化
2023-03-14

单击仅在最顶层。必须将侦听器添加到网格视图的每个项目中。

牟飞沉
2023-03-14

您是否尝试过在列表视图中使用Android:genderantFocusability=“blocksDescendants”。

 类似资料:
  • 问题内容: 我有一个带有各种 屏幕 的应用程序。每个屏幕都分配一个URL,如,,,等。 在我的主要HTML文件中,我有一个根据用户选择的路线进行更新的元素。到目前为止,一切都很好。 现在,其中一些屏幕具有子导航。例如,确实有一个收件箱和一个已发送的文件夹。他们用两列显示自己:左侧的子导航,右侧的相应文件夹的邮件。 当您导航到时,它将重定向到,因此 收件箱 基本上是 邮件 的默认子视图。 我该如何设

  • 我有一个具有各种屏幕的应用程序。每个屏幕都分配了一个URL,例如,,,等等。 在我的主HTML文件中,我有一个元素,它根据用户选择的路线进行更新。到目前为止,一切顺利。 现在这些屏幕中的一些有子导航。例如,确实有一个收件箱和一个已发送的文件夹。它们有两列:左边是子导航,右边是相应文件夹的邮件。 当您导航到时,它会将您重定向到,因此基本上收件箱是邮件的默认子视图。 我该怎么设置呢? 我目前能想到的唯

  • exVim 将会允许用户生成指定类的类继承图。这是由 ex-hierarchy 插件完成的. 当运行:Update命令后,exVim将会生成继承文件。这个文件将会从你的ctags生成信息里面提取继承信息。它记录 你工程中类的继承关系。 ex-hierarchy 插件在你输入一个类时将会解析这个继承文件,它将会生成一个 Graphviz点格式文件,然后使用Graphviz画一个.png格式的图片。

  • 我在UIViewController的视图中有一个。我想要的是将它的高度设置为视图的三分之一,无论屏幕大小如何。我当然知道如何从代码中做到这一点。但是,如何仅使用情节提要/界面构建器来实现这一点呢?

  • 英文原文:http://emberjs.com/guides/views/built-in-views/ Ember中定义了一套用于构建一些非常基础的控件的视图,比如文本输入框、勾选框和选择列表。 这些视图有: Ember.Checkbox 1 2 3 4 <label> {{view Ember.Checkbox checked=model.isDone}} {{model.title

  • 我有一个包含ListView和RelationVelayOut中几个按钮的布局。我试图让用户使用自定义的油漆视图布局在页面上绘制。好消息是,我已经让几乎所有的东西都工作了,并且正在寻找它应该如何工作,然而最后一个也是最令人沮丧的问题是ListView不再可以点击。我想在列表视图的顶部绘制,并使其可点击。 我尝试添加Android:focusableintouchmode=“true”Android