Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RelativeLayout End/Start crashes on API < 17 #4

Closed
Mathbl opened this issue Oct 20, 2015 · 4 comments
Closed

RelativeLayout End/Start crashes on API < 17 #4

Mathbl opened this issue Oct 20, 2015 · 4 comments

Comments

@Mathbl
Copy link
Contributor

Mathbl commented Oct 20, 2015

Hello,
Got this stack trace on some devices:

Caused by: java.lang.ArrayIndexOutOfBoundsException: length=16; index=17
       at android.widget.RelativeLayout$LayoutParams.addRule(RelativeLayout.java:1222)
       at me.himanshusoni.chatmessageview.ChatMessageView.initContent(ChatMessageView.java:118)
       at me.himanshusoni.chatmessageview.ChatMessageView.initialize(ChatMessageView.java:67)
       at me.himanshusoni.chatmessageview.ChatMessageView.<init>(ChatMessageView.java:42)
       at java.lang.reflect.Constructor.constructNative(Constructor.java)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
       at android.view.LayoutInflater.createView(LayoutInflater.java:587)
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
       at com.classcraft.android.views.adapters.MessagingDiscussionAdapter.getIncomingView(MessagingDiscussionAdapter.java:111)
       at com.classcraft.android.views.adapters.MessagingDiscussionAdapter.getView(MessagingDiscussionAdapter.java:101)
       at android.widget.AbsListView.obtainView(AbsListView.java:2465)
       at android.widget.ListView.makeAndAddView(ListView.java:1775)
       at android.widget.ListView.fillUp(ListView.java:712)
       at android.widget.ListView.layoutChildren(ListView.java:1632)
       at android.widget.AbsListView.onLayout(AbsListView.java:2300)
       at android.view.View.layout(View.java:13856)
       at android.view.ViewGroup.layout(ViewGroup.java:4424)
       at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1655)
       at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1513)
       at android.widget.LinearLayout.onLayout(LinearLayout.java:1426)
       at android.view.View.layout(View.java:13856)
       at android.view.ViewGroup.layout(ViewGroup.java:4424)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
       at android.view.View.layout(View.java:13856)
       at android.view.ViewGroup.layout(ViewGroup.java:4424)
       at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1655)
       at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1513)
       at android.widget.LinearLayout.onLayout(LinearLayout.java:1426)
       at android.view.View.layout(View.java:13856)
       at android.view.ViewGroup.layout(ViewGroup.java:4424)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
       at android.view.View.layout(View.java:13856)
       at android.view.ViewGroup.layout(ViewGroup.java:4424)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
       at android.view.View.layout(View.java:13856)
       at android.view.ViewGroup.layout(ViewGroup.java:4424)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
       at android.view.View.layout(View.java:13856)
       at android.view.ViewGroup.layout(ViewGroup.java:4424)
       at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1655)
       at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1513)
       at android.widget.LinearLayout.onLayout(LinearLayout.java:1426)
       at android.view.View.layout(View.java:13856)
       at android.view.ViewGroup.layout(ViewGroup.java:4424)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
       at android.view.View.layout(View.java:13856)
       at android.view.ViewGroup.layout(ViewGroup.java:4424)
       at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1992)
       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1813)
       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1113)
       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4481)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
       at android.view.Choreographer.doCallbacks(Choreographer.java:555)
       at android.view.Choreographer.doFrame(Choreographer.java:525)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
       at android.os.Handler.handleCallback(Handler.java:615)
       at android.os.Handler.dispatchMessage(Handler.java:92)
       at android.os.Looper.loop(Looper.java:137)
       at android.app.ActivityThread.main(ActivityThread.java:4867)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:511)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774)
       at dalvik.system.NativeStart.main(NativeStart.java)

According to this SO post, problem seems related to Start/End rules.
http://stackoverflow.com/questions/25763142/android-arrayindexoutofbounds-exception-on-addrule-in-layoutparams

Thanks for your time.

@Mathbl
Copy link
Contributor Author

Mathbl commented Oct 20, 2015

Changing

conRlParams.addRule(RelativeLayout.END_OF, arrowImage.getId());

for

conRlParams.addRule(RelativeLayout.RIGHT_OF, arrowImage.getId());

and

conRlParams.addRule(RelativeLayout.START_OF, arrowImage.getId());

for

conRlParams.addRule(RelativeLayout.LEFT_OF, arrowImage.getId());

Fixes the crash. I could submit a pull request if you wish.

@himanshu-soni
Copy link
Owner

@Mathbl thanks for finding solution, you can submit pull request. I would really appreciate.

@Mathbl
Copy link
Contributor Author

Mathbl commented Nov 9, 2015

Fixed in #6

@Mathbl Mathbl closed this as completed Nov 9, 2015
@himanshu-soni himanshu-soni reopened this Nov 24, 2015
@himanshu-soni
Copy link
Owner

solved in 1.0.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants