2016-07-12 4 views
2

BaseListapterクラスを使用しているカスタムlistViewがあります。私はHashMapsのリストを持つ配列を持っています。これらのHashmaps(String、Object)にはビットマップと、その中にHTMLタグを持つ文字列が含まれています。次のページに移動できません

私のインテントコードまたはputExtra( "String"、 "String")にputExtraを使用しないと、OnItemClickListenerアクションがうまくいきます。しかし、putExtraにhashMapをロードすると、次のページに行くのではなく、前のページに移動します。そして、ポジションが1であれば、問題なく次のページに行くという厄介なことがあります。それ以外の場合(0,2,3,4,5,6 ..)、前のページに戻り、デバッグモードに戻ります。 performItemClickアクションでは、mOnItemClickListenerはAdapterView.javaで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); 
    } 

LogCat:

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

show logcat 'NullPointerException'の問題 –

+0

ありがとう、私はlogcatを今追加しました –

答えて

0

私のハッシュマップ上のデータと一致し、私の問題を解決しました。

ポイントは、位置1で作業していて、配列の他の位置で作業していないということでした。そこで、ハッシュマップのデータを比較し、ビットマップの解像度が300x300と480x480で違っていることに気付きました。 480ピクセルが大きすぎて他のページに送信できませんでした。

しかし、必要があれば何ができるのだろうかと疑問に思うのは、あまりにも大きいビットマップです。

ありがとうございます

1

私はあなたが適切にデータを取得していなかったと思います。

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

あなたの答えをありがとうございます。次のページに行く前にエラーがあったため、2番目のクラスはまだ開始していませんでした。ビットマップサイズを小さくすることで問題を解決しました。 –

関連する問題