slidingDrawer克隆后改变layoutParams导致所有都变

huipahaimian 2011-05-17 05:55:05
slidingDrawer克隆后改变layoutParams的height导致所有slidingDrawer的height都发生改变,而将其getLayoutParams的结果也克隆后却抛出异常,请高手指教,谢谢!急用……
代码如下:
public class MySlidingDrawer extends SlidingDrawer implements Cloneable {

public MySlidingDrawer(Context context, AttributeSet attrs) {
super(context, attrs);
}

public Object clone(){
MySlidingDrawer mySD = null;
try {
mySD = (MySlidingDrawer) super.clone();
} catch (CloneNotSupportedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return mySD;
}

@Override
public LayoutParams getLayoutParams() {
LayoutParams layot = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
MyLayoutParams myLayoutParams = new MyLayoutParams(layot);
return (LayoutParams) myLayoutParams.clone();
}



}


public class MyLayoutParams extends LayoutParams implements Cloneable{


public MyLayoutParams(LayoutParams arg0) {
super(arg0);
// TODO Auto-generated constructor stub
}

public MyLayoutParams clone() {
try {
return (MyLayoutParams)super.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return null;
}

}
...全文
159 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
huipahaimian 2011-05-17
  • 打赏
  • 举报
回复
异常内容如下:
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): java.lang.ClassCastException: com.foo.MyLayoutParams
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.widget.LinearLayout.measureVertical(LinearLayout.java:355)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.view.View.measure(View.java:8171)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.view.View.measure(View.java:8171)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.view.View.measure(View.java:8171)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.widget.LinearLayout.measureVertical(LinearLayout.java:526)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.view.View.measure(View.java:8171)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.view.View.measure(View.java:8171)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.view.ViewRoot.performTraversals(ViewRoot.java:801)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.os.Handler.dispatchMessage(Handler.java:99)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.os.Looper.loop(Looper.java:123)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at android.app.ActivityThread.main(ActivityThread.java:4627)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at java.lang.reflect.Method.invokeNative(Native Method)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at java.lang.reflect.Method.invoke(Method.java:521)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-17 17:48:21.290: ERROR/AndroidRuntime(1980): at dalvik.system.NativeStart.main(Native Method)

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧