OnListItemClick 事件不起作用

2024-02-08

我一直面临一个问题...有五个不同的 Java 类MainActivity, Application, ApplicationAdapter, FetchData ,FetchDataListener.. 我正在从 api 绑定 mysql 数据ListView...但我正在尝试触发点击事件ListView但我收到错误...这是代码...

MainActivity.Java

@Override
public void onFetchComplete(List<Application> data) {
    if(dialog != null)  dialog.dismiss();
    ApplicationAdapter adapter = new ApplicationAdapter(this, data);
    setListAdapter(adapter);              
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
    Application app= new Application();
    int p =app.getPosition(position);

    Toast.makeText(this,p,Toast.LENGTH_LONG).show();
}

应用程序适配器.Java

public class ApplicationAdapter extends ArrayAdapter<Application> {
    private List<Application> items;

    public ApplicationAdapter(Context context, List<Application> items) {
        super(context, R.layout.app_custom_list, items);
        this.items = items;
    }
    @Override
    public int getCount() {
        return items.size();
    }    
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;

        if(v == null) {
            LayoutInflater li = LayoutInflater.from(getContext());
            v = li.inflate(R.layout.app_custom_list, null);            
        }
        Application app = items.get(position);

        if(app != null) {
            ImageView icon = (ImageView)v.findViewById(R.id.appIcon);
            TextView titleText = (TextView)v.findViewById(R.id.titleTxt);
            LinearLayout ratingCntr = (LinearLayout)v.findViewById(R.id.ratingCntr);
            TextView dlText = (TextView)v.findViewById(R.id.dlTxt);

            if(icon != null) {
                Resources res = getContext().getResources();
                String sIcon = "com.sj.jsondemo:drawable/" + app.getIcon();
                icon.setImageDrawable(res.getDrawable(res.getIdentifier(sIcon, null, null)));
            }

            if(titleText != null) titleText.setText(app.getTitle());

            if(dlText != null) {
                NumberFormat nf = NumberFormat.getNumberInstance();
                dlText.setText(nf.format(app.getTotalDl())+" dl");            
            }

            if(ratingCntr != null && ratingCntr.getChildCount() == 0) {        
                for(int i=1; i<=5; i++) {
                    ImageView iv = new ImageView(getContext());
                    if(i <= app.getRating()) {
                        iv.setImageDrawable(getContext()
                            .getResources()
                            .getDrawable(R.drawable.start_checked));
                    }
                    else {                
                        iv.setImageDrawable(getContext()
                            .getResources()
                            .getDrawable(R.drawable.start_unchecked));
                    }
                    ratingCntr.addView(iv);
                }
            }
        }
        return v;
    }
}

应用程序.java

public class Application {
    private String title;
    private long totalDl;
    private int rating;
    private String icon;

    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public long getTotalDl() {
        return totalDl;
    }
    public void setTotalDl(long totalDl) {
        this.totalDl = totalDl;
    }
    public int getRating() {
        return rating;
    }
    public void setRating(int rating) {
        this.rating = rating;
    }
    public String getIcon() {
        return icon;
    }
    public void setIcon(String icon) {
        this.icon = icon;
    }
}

出现错误....

 06-20 14:28:18.937: I/Choreographer(3740): Skipped 45 frames!  The application may be doing too much work on its main thread.
06-20 14:28:20.267: W/ResourceType(3740): No package identifier when getting value for resource number 0x00000000
06-20 14:28:20.277: D/AndroidRuntime(3740): Shutting down VM
06-20 14:28:20.277: W/dalvikvm(3740): threadid=1: thread exiting with uncaught exception (group=0xb2a31ba8)
06-20 14:28:20.367: E/AndroidRuntime(3740): FATAL EXCEPTION: main
06-20 14:28:20.367: E/AndroidRuntime(3740): Process: com.sj.jsondemo, PID: 3740
06-20 14:28:20.367: E/AndroidRuntime(3740): android.content.res.Resources$NotFoundException: String resource ID #0x0
06-20 14:28:20.367: E/AndroidRuntime(3740):     at android.content.res.Resources.getText(Resources.java:244)
06-20 14:28:20.367: E/AndroidRuntime(3740):     at android.widget.Toast.makeText(Toast.java:268)
06-20 14:28:20.367: E/AndroidRuntime(3740):     at com.sj.jsondemo.MainActivity.onListItemClick(MainActivity.java:41)
06-20 14:28:20.367: E/AndroidRuntime(3740):     at android.app.ListActivity$2.onItemClick(ListActivity.java:319)
06-20 14:28:20.367: E/AndroidRuntime(3740):     at android.widget.AdapterView.performItemClick(AdapterView.java:299)
06-20 14:28:20.367: E/AndroidRuntime(3740):     at android.widget.AbsListView.performItemClick(AbsListView.java:1113)
06-20 14:28:20.367: E/AndroidRuntime(3740):     at android.widget.AbsListView$PerformClick.run(AbsListView.java:2904)
06-20 14:28:20.367: E/AndroidRuntime(3740):     at android.widget.AbsListView$3.run(AbsListView.java:3638)
06-20 14:28:20.367: E/AndroidRuntime(3740):     at android.os.Handler.handleCallback(Handler.java:733)
06-20 14:28:20.367: E/AndroidRuntime(3740):     at android.os.Handler.dispatchMessage(Handler.java:95)
06-20 14:28:20.367: E/AndroidRuntime(3740):     at android.os.Looper.loop(Looper.java:136)
06-20 14:28:20.367: E/AndroidRuntime(3740):     at android.app.ActivityThread.main(ActivityThread.java:5017)
06-20 14:28:20.367: E/AndroidRuntime(3740):     at java.lang.reflect.Method.invokeNative(Native Method)
06-20 14:28:20.367: E/AndroidRuntime(3740):     at java.lang.reflect.Method.invoke(Method.java:515)
06-20 14:28:20.367: E/AndroidRuntime(3740):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
06-20 14:28:20.367: E/AndroidRuntime(3740):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
06-20 14:28:20.367: E/AndroidRuntime(3740):     at dalvik.system.NativeStart.main(Native Method)
06-20 14:28:23.067: I/Process(3740): Sending signal. PID: 3740 SIG: 9

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OnListItemClick 事件不起作用 的相关文章

  • 两个 ListView 和 ScrollView

    我离这里很近 我已经尝试了很多东西 但无法让它发挥作用 我这里有两个列表视图 我想要的是每个列表视图显示其全部内容 我不希望列表视图可滚动 我想要保持列表视图可滚动的滚动视图 我能得到的最接近的结果 这是错误的 是每个列表视图都是可滚动的
  • ScrollView 与relativelayout 不能很好地配合

    所以我有一个 ScrollView 作为布局中的最高级别 在我的 ScrollView 中我有一个包含其他视图的相对布局 问题在于 RelativeLayout 没有按应有的方式覆盖整个布局 它会在大约一半的屏幕处被截断 它的宽度是屏幕的整
  • 如何在 Android 中使用 Espresso 设置文本视图的值

    我正在为片段编写测试用例 我可以将文本设置为 Edittext 但无法通过测试将文本设置为文本视图 请任何人帮助我解决这个问题 贝娄是我用于编辑文本的代码 onView withId R id editText perform typeTe
  • 在模拟器中观察短信发送应用程序

    有没有办法从模拟器读取传出的短信 在 logcat 中我看到这条消息 D SmsStorageMonitor 738 SMS send size 0 time 1327423357467 有没有办法获取接收者和内容 发出的短信似乎没有保存在
  • 安卓。 onEditorAction 从未被调用

    我正在尝试捕捉从屏幕上移除键盘的事件 并且我正在使用OnEditorActionListener班级 然而 其onEditorAction方法永远不会被调用 这是我的 XML 格式的 EditText
  • Android ViewPager手动调用PageTransformer TransformPage

    我有一个带有 PageTransformer 实现的 ViewPager 它可以对 ViewPager 的下一页执行一些有趣的操作 我的实现如下所示 class ZoomOutPageTransformer implements ViewP
  • 无法将 LocalBroadcastManager 添加到 Android Studio 中的项目

    我想我现在已经尝试了一切 我一直在堆栈溢出 我什至咨询过android文档 这里的大多数帖子都展示了如何在 Eclipse 中添加 jar 文件 android 工具 gt 添加支持库 或其他内容 所以我尝试按照文档告诉我的方式进行操作 方
  • Android - Java - 发送 facebook 聊天消息的意图(facebook 禁用 xmpp)

    Facebook 已弃用 xmpp API 有没有办法打开意图 或将数据传递到fb 以在Android设备上发送聊天消息 设备上安装的 Facebook 和 Messenger 应用 谢谢 您需要将 uri 传递给意图 这里10000572
  • 在 Android 中以高音量录制

    我正在使用 MediaRecorder 进行音频录制 但不幸的是 当我播放录制的音频时 我的媒体音量非常低 我什么也没听到 几乎什么也没听到 有没有办法提高录音音量 就像我们录音时的 setVolume 一样 我尝试在 MediaRecor
  • 如何在 Android 中将 EditText 绘制到画布上?

    我想画画 EditText username new EditText context 到我画布上的特定位置 protected void onDraw Canvas canvas 是否可以在基础上画出x y在我的 Java 文件中协调而不
  • Android AsyncTask onPreExecute 未不确定地调用

    我有一个 AsyncTask 它应该在通过互联网上传一些内容时显示进度条 有时它就像一个魅力 有时它不显示任何进度条 这是代码 public class Upload extends AsyncTask
  • 如何以编程方式在 Android 中的特定 firebase FCM 注册令牌上发送推送通知

    我想知道有什么方法可以在特定的 FCM 注册令牌 设备令牌 上以编程方式发送推送通知 我已经实现了群聊 但陷入了一对一的聊天 我根本不想使用任何网络服务或任何后端 因为我在我的应用程序中使用 Firebase 数据库和存储作为后端 我想将上
  • Android中如何使用ScrollView?

    我有一个 XML 布局文件 但文本超出了屏幕尺寸 我需要做什么才能制作ScrollView
  • 在 Java 和 PHP 之间加密/解密字符串

    我使用 AES 加密来加密和解密服务器端的 php 和 Android 应用程序 作为客户端 之间的字符串 PHP 中的加密字符串为 HaxRKnMxT24kCJWUXaVvqDHahzurJQK sYA4lIHql U 在 Java 中是
  • 如何停止和重新启动 Android 仪器测试中的活动?

    我正在尝试编写一个停止的 Android 活动仪器测试 onPause then onStop 并重新启动当前活动 我试过 activity finish activity getActivity 但这似乎不能正常工作 测试的目的是断言表单
  • Android-JNI 中的 AndEngine GLES2 存在 Proguard 问题 在应用程序中检测到错误

    我开发了一个应用程序 使用和发动机GLES2 https github com nicolasgramlich AndEngine和 andEngine 的扩展物理二维盒 https github com nicolasgramlich A
  • Android Studio 无法识别 GSON 库

    我正在 Android Studio 中制作一个应用程序 我需要使用GSON图书馆 我已经下载了gson 2 8 2 javadoc 然后我就这样走了 文件 gt 新建 gt 新模块 gt 导入 JAR AAR 打包 gt gson 2 8
  • 方向更改时视图高度/宽度值错误?

    我实现了 onConfigurationChanged 来读取方向配置更改时视图高度和宽度的值 Override public void onConfigurationChanged Configuration newConfig supe
  • 如何迭代SparseArray?

    有没有办法迭代 Java SparseArray 适用于 Android 我用了sparsearray通过索引轻松获取值 我找不到 看来我找到了解决方案 我没有正确注意到keyAt index 功能 所以我会这样做 for int i 0
  • 如何使用 Android Studio 在真实设备中测试 Android 应用?

    我开始在android中开发Android Studio IDE 我在上测试了我的应用程序emulator并且工作正常 但是当我尝试直接在我的设备中测试应用程序时 无法识别它并且控制台显示下一条消息 等待设备 未找到 USB 设备 我在运行

随机推荐

  • 如何从字符串列表创建多个变量? [复制]

    这个问题在这里已经有答案了 我有一个字符串列表 例如 names apple orange banana 我想为列表中的每个元素创建一个列表 该列表的名称与字符串完全相同 apple orange banana 我怎样才能在Python中做
  • 如何使用实验说明符分辨率=节点运行node.js cli?

    我们的团队构建了一个用于维护的小型 CLI package json 指定了一个路径bin财产 一切都运转良好 bin eddy dist src cli entry js 自动完成是通过使用实现的 email protected cdn
  • Mongoose,如何清空集合

    我有以下 hapi js 服务器 const Hapi require hapi const Mongoose require mongoose const Wreck require wreck const server new Hapi
  • 如何修复 SOAPUI 中不支持的主次版本 52.0

    我正在 SOAPUI 中使用 groovy 脚本测试步骤运行 selenium 脚本 但出现以下错误 如何解决这个问题 java lang UnsupportedClassVersionError org openqa selenium s
  • 显示grafana点悬停的详细信息

    我使用 Influxdb 作为 grafana 的来源 在每个数据点的时间序列上 我有几个值和标签 如何将鼠标悬停在折线图中的特定数据点上显示相关数据点 或者 我可以调用一些 API 传递一些值来填充悬停时出现的工具提示 截至撰写本文时 还
  • URL 编码——& 符号问题

    我在某些字符编码方面遇到了一些问题 导致我网站上的搜索表单出现了一些问题 可能的字段值之一包含一个 符号 选择此选项并提交搜索后 符号将编码为 2526 使用页面底部的分页链接并导航到结果列表中的第二页时 符号将被编码为 26 最后 在尝试
  • JavaScript:以整数形式读取 3 个字节缓冲区

    假设我有一个十六进制数据流 我想将其分为 3 字节块 我需要将其作为整数读取 例如 给定一个十六进制字符串01be638119704d4b9a我需要读取前三个字节01be63并将其读取为整数114275 这就是我得到的 var sample
  • xcode 5:代码签名身份列表不完整

    刚刚更新并使用 xcode 5 来升级我的应用程序的第二个版本 但现在的问题出在代码签名身份上 当我打开 xcdoe 4 5 中的旧文件时 我会看到我的身份的完整列表 但在这个新项目中 只列出了一个开发人员身份 其余的 开发者和发行版 身份
  • 链接链接静态库中符号的动态库:macOS 与 Linux

    我正在将一个 Linux 应用程序移植到 macOS 链接行为存在差异 我花了一些时间才发现它的差异 该项目使用基于 CMake 的两阶段构建过程 一个 CMake 树创建一个动态库 该动态库链接到稍后创建的第二个树中创建的静态库 创建动态
  • 如何使用 Mathematica 查找 Waldo?

    这周末困扰着我 有什么好方法来解决这些问题沃尔多在哪里 https en wikipedia org wiki Where 27s Wally 3F Wally 北美以外 谜题 使用 Mathematica 图像处理和其他功能 这是我到目前
  • 如何对 Jekyll 扩展或插件进行猴子修补?

    我想重写一个 gem 方法 Jekyll 扩展 如下所示 File lib jekyll amazon amazon tag rb https github com tokzk jekyll amazon blob 8fd9d9ff676e
  • Git 添加预提交钩子而不是提交的暂存文件

    我编写了一个预提交挂钩来编译我的项目并将生成的文件添加到提交中 这是一个 JavaScript 项目 我使用的是 husky 但我也尝试过编辑 git hooks pre commit 但该文件没有添加到提交中 如果我取消提交 我可以看到文
  • 更新按钮触发编辑事件处理程序

    我有一个网格视图 标记是这样的
  • Expression.Coalesce的转换参数有什么用?

    有关此问题的背景 请参阅Expression Coalesce 方法的 Coalesce Expression Expression LambdaExpression 重载的文档 https learn microsoft com en u
  • 检测用户滚动了多少

    我的网站上有图像弹出功能 以便当用户单击页面上的较小版本时向用户显示完整分辨率的图片 这是当前的CSS它的定位是 div enlargedImgWrapper position absolute top 30px left 55px z i
  • NestJS 从 GridFS 返回一个文件

    我正在尝试使用 Nest 控制器从 GridFS 返回文件 据我所知 Nest 不尊重我的习惯content type我设置的标题application zip 因为我在返回时收到文本内容类型 参见屏幕截图 响应数据图像 错误的内容类型标头
  • 删除文件然后目录

    到目前为止我有这个
  • 使用 zlib 从 pdf 中提取文本

    我正在使用该函数在 pdf 文件中查找文本并将该文本替换为另一个文本 问题是当我进行 inflate 然后更改文本并 deflate 时 在最终的 pdf 中有时会丢失一些文本或图形 这是我的代码中的错误或 zlib 库不支持此压缩或其他什
  • 在 OSX 10.9.2 上安装 Composer 时出现分段错误 11

    我一直在尝试安装作曲家 但不断收到错误 分段错误 11 以下是我尝试过的列表 须藤卷曲 sShttps getcomposer org installer https getcomposer org installer php Output
  • OnListItemClick 事件不起作用

    我一直面临一个问题 有五个不同的 Java 类MainActivity Application ApplicationAdapter FetchData FetchDataListener 我正在从 api 绑定 mysql 数据ListV