9

I've just edited my XML, I've put slide menu code in my XML, but there is an error.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff" >

    <ListView 
        android:id="@+id/menu_content_menulist"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="8dp"

        android:cacheColorHint="@android:color/transparent" 
        android:divider="@null"
        android:listSelector="@null"/>      
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <com.mozaik.tangsel.side_menu_scroll.ScrollerLinearLayout       
            android:id="@+id/menu_content_side_slide_layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"        
            android:orientation="verti_

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/content_statis"        
        android:orientation="vertical"
        android:background="@drawable/bg_app"
         >

        <include layout="@layout/layout_action_bar" />
    <ScrollView
        android:id="@+id/SV"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:fillViewport="true" 
        >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_margin="4dp"
                android:background="@drawable/inbox_interface"
                android:orientation="vertical" >

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical" >

                    <ImageView
                        android:id="@+id/ImageMozaikTangsel"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_margin="10dip" />

                </LinearLayout>

                <LinearLayout
                    android:id="@+id/tabMozaikTangselLayout"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical" >
                </LinearLayout>

            </LinearLayout>

        </LinearLayout>

</ScrollView>

   </LinearLayout>
</com.mozaik.tangsel.side_menu_scroll.ScrollerLinearLayout>
</RelativeLayout>
</RelativeLayout>

Error in logcat:

  10-26 15:53:32.126: E/AndroidRuntime(10869): FATAL EXCEPTION: main
10-26 15:53:32.126: E/AndroidRuntime(10869): java.lang.ClassCastException: android.view.ViewGroup$LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.widget.RelativeLayout$DependencyGraph.findRoots(RelativeLayout.java:1352)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.widget.RelativeLayout$DependencyGraph.getSortedViews(RelativeLayout.java:1299)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.widget.RelativeLayout.sortChildren(RelativeLayout.java:316)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:337)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.view.View.measure(View.java:15193)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4816)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.view.View.measure(View.java:15193)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4816)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.view.View.measure(View.java:15193)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4816)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2217)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.view.View.measure(View.java:15193)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1850)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1102)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1275)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4216)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.view.Choreographer.doCallbacks(Choreographer.java:555)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.view.Choreographer.doFrame(Choreographer.java:525)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.os.Handler.handleCallback(Handler.java:615)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.os.Handler.dispatchMessage(Handler.java:92)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.os.Looper.loop(Looper.java:137)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at android.app.ActivityThread.main(ActivityThread.java:4794)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at java.lang.reflect.Method.invokeNative(Native Method)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at java.lang.reflect.Method.invoke(Method.java:511)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
10-26 15:53:32.126: E/AndroidRuntime(10869):    at dalvik.system.NativeStart.main(Native Method)
4
  • Looks like you're modifying the LayoutParams in code. XML layout alone won't cause this. So, include relevant code in the question. Commented Oct 26, 2013 at 9:17
  • Make sure you import the correct LayoutParams. Commented Oct 26, 2013 at 9:19
  • my error solved with @kalyan pvs's answer, thank for you too :) Commented Oct 26, 2013 at 9:19
  • need help here stackoverflow.com/questions/30951608/… Commented Jun 20, 2015 at 9:45

5 Answers 5

20

In your code you are importing import android.widget.RelativeLayout.LayoutParams; instead of android.view.ViewGroup.LayoutParams

so Delete import android.widget.RelativeLayout.LayoutParams;

and Add import android.view.ViewGroup.LayoutParams

Sign up to request clarification or add additional context in comments.

2 Comments

Why would ViewGroup.LayoutParams make a difference?
@IgorGanapolsky because LayoutParams is a inner class of particular classes..RelativeLayout extend ViewGroup so you can typecast but RelativeLayout.LayoutParams can not extend ViewGroup.LayoutParams so it will throw ClassCastException
5

You should make the LayoutParams object of the parent layout. Example in the layout below to set height and width of the LinearLayout you have to make the LayoutParmas of RelativeLayout not LinearLayout itself.

  <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".newsblog.NewsDetailsActivity"
    >

      <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"/>


 </RelativeLayout>

Java:

//IN ACTIVITY
RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParams(30,30); //Parent Params
linearLayout.setLayoutParmas(params); //Child Layout


//If you want to set the params of the Relative Layout above. It seems it doesn't have any parent but it has a parent created by android framework which is a frame layout. So 
FrameLayout.LayoutParmas params=new FrameLayout.LayoutParmas(30, 30);//FrameLayout is a parentcreated by anroid frame work
relativeLayout.setLayoutParmas(params);  ////Here Relative layout is child

Comments

0

just click Cnt+o for delete unwanted imports

Comments

0

Use code below:

imageView.setLayoutParams(
  new android.widget.RelativeLayout.LayoutParams(
    ViewPager.LayoutParams.MATCH_PARENT,
    ViewPager.LayoutParams.MATCH_PARENT));

Do let me know if you face any error.

Comments

0

**

To Set RecyclerView Margin Programatically In Android

**

MarginLayoutParams mp = (MarginLayoutParams) myRecyclerView.getLayoutParams();
                mp.setMarginStart(0);
                mp.setMarginEnd(0);
                //mp.setMargins(10,10,10,10);

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.