【问题标题】:Android: Converting OnItemClick to OnClickListenerAndroid:将 OnItemClick 转换为 OnClickListener
【发布时间】:2020-05-02 18:17:31
【问题描述】:

以前我有这个 OnItemClick 方法,它使用户能够单击列表视图上的行并导致新活动将一些属性(文本、图像)带入新活动

public void onItemClick(AdapterView<?> l, View v, int position, long id) {
        Intent listIntent = new Intent(this, DetailsActivity.class);
        listIntent.putExtra("spendino.de.ProjectDetail.position",position);
        listIntent.setData(Uri.withAppendedPath(Uri.withAppendedPath(
                Provider.CONTENT_URI, Database.Project.NAME), Long
                .toString(id)));
        startActivity(listIntent);

    }

但现在我刚刚为我的 CursorAdapter 实现了一个“视图”。对行布局实现onItemClick是不可能的,我能做的就是实现onClick。但我无法将方法内容从我之前的 OnItemClick 转换为 OnClickListener。 我需要该方法的行为类似于我之前的 OnItemClick。

因为我需要声明一些属性,比如位置,id,这些属性在这个方法中是不可用的。

convertView.setOnClickListener(new OnClickListener() {
                 public void onClick(View view) {


                 }
                });

因此,我需要 OnClickListener 方法的行为类似于我之前的 OnItemClick

【问题讨论】:

    标签: android


    【解决方案1】:

    您应该仍然能够使用 OnItemClick 侦听器处理单击事件。确保您的视图中没有任何内容正在捕获或处理单击事件。将 clickable 设置为 false,以便单击事件在链中填充并被 OnItemClick 处理程序捕获。

    【讨论】:

    • 我不知道如何处理 OnItemClick 上的“long id”,当我对我的 OnClickListener 实现相同的代码时,它会询问我,否则它会给我一个错误。您可以根据我所拥有的提供代码来帮助我吗?谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-10
    • 2015-05-30
    • 2021-10-26
    • 2011-10-13
    • 2014-05-19
    • 2013-02-07
    • 2018-07-08
    相关资源
    最近更新 更多