Search code examples
javaandroidviewgroup

How to set margin for custom view group in android


I have defined a custom viewgroup class that extends from ViewGroup,I want to set margin by java code for this viewgroup. but when I use ViewGroup.MarginLayoutParams , I have the following error:

12-05 14:58:58.593: E/AndroidRuntime(32277): FATAL EXCEPTION: main
12-05 14:58:58.593: E/AndroidRuntime(32277): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.sample/com.example.sample.SampleActivity}: java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams
12-05 14:58:58.593: E/AndroidRuntime(32277):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1829)
12-05 14:58:58.593: E/AndroidRuntime(32277):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1848)
12-05 14:58:58.593: E/AndroidRuntime(32277):    at android.app.ActivityThread.access$1500(ActivityThread.java:177)
12-05 14:58:58.593: E/AndroidRuntime(32277):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1041)
12-05 14:58:58.593: E/AndroidRuntime(32277):    at android.os.Handler.dispatchMessage(Handler.java:130)
12-05 14:58:58.593: E/AndroidRuntime(32277):    at android.os.Looper.loop(Looper.java:384)
12-05 14:58:58.593: E/AndroidRuntime(32277):    at android.app.ActivityThread.main(ActivityThread.java:3975)
12-05 14:58:58.593: E/AndroidRuntime(32277):    at java.lang.reflect.Method.invokeNative(Native Method)
12-05 14:58:58.593: E/AndroidRuntime(32277):    at java.lang.reflect.Method.invoke(Method.java:538)
12-05 14:58:58.593: E/AndroidRuntime(32277):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:978)
12-05 14:58:58.593: E/AndroidRuntime(32277):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:732)
12-05 14:58:58.593: E/AndroidRuntime(32277):    at dalvik.system.NativeStart.main(Native Method)
12-05 14:58:58.593: E/AndroidRuntime(32277): Caused by: java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams
12-05 14:58:58.593: E/AndroidRuntime(32277):    at com.example.pager.HorizontalPager.getLayoutParams(HorizontalPager.java:212)
12-05 14:58:58.593: E/AndroidRuntime(32277):    at com.example.sample.SampleActivity.onCreate(SampleActivity.java:95)
12-05 14:58:58.593: E/AndroidRuntime(32277):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1149)
12-05 14:58:58.593: E/AndroidRuntime(32277):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1793)
12-05 14:58:58.593: E/AndroidRuntime(32277):    ... 11 more

what should I do? Thanks in advance


Solution

  • I put my viewgroup into the relativelayout and it works.