无法跳转到下一页。

3
我有一个使用BaseAdapter类的自定义listView。我有一个数组,其中有一系列HashMaps。这些 HashMaps (String, Object) 包含位图和一些字符串(这些字符串中可能会有HTML标记)。
如果我在Intent代码中不使用putExtra或putExtra("String", "String"),OnItemClickListener操作可以正常工作。但是,当我将 hashMap 装入 putExtra 中时,它会转到前一页而不是下一页。有一件奇怪的事情,如果位置等于1,则会轻松转到下一页。否则(0,2,3,4,5,6...)它会返回到前一页,在调试模式下performItemClick操作,AdapterView.java中的mOnItemClickListener返回null。
这是我的代码:
    // Menu Action
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Intent intent = new Intent(ServicesAndProducts.this, ServicesAndProductsDetail.class);
        HashMap<String, Object> map = servicesAndProductsList.get(position);
        intent.putExtra("SelectedMap", map);
        //intent.putExtra("String", "Esra"); // is working

        //Bundle extras = new Bundle();
        //extras.putSerializable("SelectedMap", servicesAndProductsList.get(position));
        //extras.putString("Title", title);
        //intent.putExtras(extras);
        startActivity(intent);
    }

日志记录:

07-12 11:44:35.083 2675-2675/esrakarakecili.autoking I/Choreographer: Skipped 1736 frames!  The application may be doing too much work on its main thread.
07-12 11:44:35.254 2675-3064/esrakarakecili.autoking D/OpenGLRenderer: endAllStagingAnimators on 0xa4463380 (ListView) with handle 0xaec39b00
07-12 11:44:35.523 4603-4603/esrakarakecili.autoking E/InstantRun: IO Error creating local socket at esrakarakecili.autoking
                                                                   java.io.IOException: Address already in use
                                                                       at android.net.LocalSocketImpl.bindLocal(Native Method)
                                                                       at android.net.LocalSocketImpl.bind(LocalSocketImpl.java:306)
                                                                       at android.net.LocalServerSocket.<init>(LocalServerSocket.java:48)
                                                                       at com.android.tools.fd.runtime.Server.<init>(Server.java:94)
                                                                       at com.android.tools.fd.runtime.Server.create(Server.java:88)
                                                                       at com.android.tools.fd.runtime.BootstrapApplication.onCreate(BootstrapApplication.java:358)
                                                                       at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1012)
                                                                       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4553)
                                                                       at android.app.ActivityThread.access$1500(ActivityThread.java:151)
                                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
                                                                       at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                       at android.os.Looper.loop(Looper.java:135)
                                                                       at android.app.ActivityThread.main(ActivityThread.java:5254)
                                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                                       at java.lang.reflect.Method.invoke(Method.java:372)
                                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
07-12 11:44:35.688 4603-4603/esrakarakecili.autoking W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
07-12 11:44:35.709 4603-4626/esrakarakecili.autoking D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true

                                                                       [ 07-12 11:44:35.714  4603: 4603 D/         ]
                                                                       HostConnection::get() New Host Connection established 0xb42f4a00, tid 4603
07-12 11:44:35.724 4603-4603/esrakarakecili.autoking D/Atlas: Validating map...
07-12 11:44:35.801 4603-4626/esrakarakecili.autoking I/OpenGLRenderer: Initialized EGL, version 1.4
07-12 11:44:35.816 4603-4626/esrakarakecili.autoking D/OpenGLRenderer: Enabling debug mode 0
07-12 11:44:35.825 4603-4626/esrakarakecili.autoking W/EGL_emulation: eglSurfaceAttrib not implemented
07-12 11:44:35.825 4603-4626/esrakarakecili.autoking W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xb4341a40, error=EGL_SUCCESS

3
显示logcat,针对NullPointerException问题。 - IntelliJ Amiya
好的,谢谢。我现在已经添加了我的日志记录(logcat)。 - Esra Karakecili
2个回答

1

我在我的哈希映射表中匹配数据并解决了我的问题。

关键是它在位置1上工作,但在数组的其他位置上不起作用。因此,我比较了哈希映射表的数据,并意识到位图的分辨率不同 - 300x300和480x480。480像素对于发送到其他页面来说太大了。

但仍然想知道如果需要太大的位图应该怎么办。

谢谢


1

我猜你没有正确获取数据。

// To get the object in second Activity
getIntent().getSerializableExtra("SelectedMap");

您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Esra Karakecili

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接