//rl_pager 是RelativeLayout
findViewById(R.id.rl_pager).setLayoutParams(new RelativeLayout.LayoutParams(width, width));

当我这么设置layoutparams的时候报错了,原因:

setLayoutParams(params) 这个params 是父布局的 layout,并非自身的layout。。。。

因为我这里 rl_pager的父节点是 linearlayout 所以 我这里正确的应该是:

//rl_pager 是RelativeLayout
findViewById(R.id.rl_pager).setLayoutParams(new LinearLayout.LayoutParams(width, width));

下面一段对话,参考下吧:

代码设置RelativeLayout宽度时报错?0

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:id="@+id/linearLayout_parent"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. android:gravity="center_horizontal"
  7. android:orientation="vertical" >
  8. <RelativeLayout
  9. android:id="@+id/relativeLayout1"
  10. android:layout_width="match_parent"
  11. android:layout_height="match_parent">
  12. 。。。。。

代码中需要对RelativeLayout的宽度进行设定:

  1. RelativeLayout relativeLayout = (RelativeLayout)this.findViewById(R.id.relativeLayout1);
  2. RelativeLayout.LayoutParams param = new RelativeLayout.LayoutParams(cell_Width, LayoutParams.MATCH_PARENT);
  3. param.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, 1);
  4. relativeLayout.setLayoutParams(param);

但是报错:

  1. 04-01 23:49:13.572: E/AndroidRuntime(1246): java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams
  2. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:587)
  3. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:519)
  4. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at android.view.View.measure(View.java:10828)
  5. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4351)
  6. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:267)
  7. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at android.view.View.measure(View.java:10828)
  8. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:764)
  9. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:519)
  10. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at android.view.View.measure(View.java:10828)
  11. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4351)
  12. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:267)
  13. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:1889)
  14. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at android.view.View.measure(View.java:10828)
  15. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at android.view.ViewRoot.performTraversals(ViewRoot.java:938)
  16. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at android.view.ViewRoot.handleMessage(ViewRoot.java:2040)
  17. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at android.os.Handler.dispatchMessage(Handler.java:99)
  18. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at android.os.Looper.loop(Looper.java:132)
  19. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at android.app.ActivityThread.main(ActivityThread.java:4123)
  20. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at java.lang.reflect.Method.invokeNative(Native Method)
  21. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at java.lang.reflect.Method.invoke(Method.java:491)
  22. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
  23. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
  24. 04-01 23:49:13.572: E/AndroidRuntime(1246):     at dalvik.system.NativeStart.main(Native Method)

查了些资料,比如:http://blog.csdn.net/id19870510/article/details/6398049 
说是需要设置父layout,但是试了后依然报错,请问到底如何更改? 
谢谢

2013年4月02日 00:01

tiwenzhuanyong 

0 0 4
 
 
 

1个答案按时间排序按投票排序

00

采纳的答案

relativeLayout 是LinearLayout的子控件~它的layoutparam应该是LinearLayout给他的所以应该是LinearLayout.LayoutParam ~~~~不知道你理解了没~~~如果relativeLayout 有子控件的话~那它的子控件用的的就是relativeLayout 给他们的RinearLayout.LayoutParam

关于layoutparam 请铭记。。。。的更多相关文章

  1. 玩转docker

    开篇先论赌 (组词,赌博,....),时刻,每天都在赌! 何为赌?仁者见仁,智者必定又有一番见解,保持沉默,意见保留; ——改变思维模式,Ruiy让赌赢在“思维”!!!; 存在在IT界Ruiy定格,即 ...

  2. Linux编程之PING的实现

    PING(Packet InterNet Groper)中文名为因特网包探索器,是用来查看网络上另一个主机系统的网络连接是否正常的一个工具.ping命令的工作原理是:向网络上的另一个主机系统发送ICM ...

  3. Docker实战:更轻松、更愉快、更高效

    编者按:借助Docker,我们可以更容易地进行web应用部署,而同时不必头疼于项目依赖.环境变量以及各种配置问题,Docker可以快捷.高效地处理好这一切.而这也是本教程所要实现的主要目的.以下是作者 ...

  4. January 29 2017 Week 5 Sunday

    In order to be irreplaceable one must always be different. 若想无可替代,必须与众不同. If all your skills or pers ...

  5. (62)通信协议之一protobuf

     Protobuf协议特点分析 KingKa.吴永聪 1.protobuf是什么? protobuf(Google Protocol Buffers)是Google提供的一个具有高效的协议数据交换格式 ...

  6. iPhone Anywehre虚拟定位提示“后台服务未启动,请重新安装应用后使用”的解决方法

    问题描述: iPhone越狱了,之后在Cydia中安装Anywhere虚拟定位,但是打开app提示:后台服务未启动,请重新安装应用后使用. 程序无法正常使用... 解决方法: 打开Cydia-已安装, ...

  7. 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查。。。

    异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 无法向会话状态服务器发出会话状态请求.请确保 ASP.NET State Ser ...

  8. SQL Server 无法连接到服务器。SQL Server 复制需要有实际的服务器名称才能连接到服务器。请指定实际的服务器名称。

    异常处理汇总-数据库系列  http://www.cnblogs.com/dunitian/p/4522990.html SQL性能优化汇总篇:http://www.cnblogs.com/dunit ...

  9. 【干货分享】流程DEMO-资产请购单

    流程名: 资产请购  业务描述: 流程发起时,会检查预算,如果预算不够,流程必须经过总裁审批,如果预算够用,将发起流程,同时占用相应金额的预算,但撤销流程会释放相应金额的预算.  流程相关文件: 流程 ...

随机推荐

  1. python_发送短信脚本

    sendsms.py #!/usr/bin/env python # coding: utf-8 import sys import urllib import urllib2 "" ...

  2. windows下利用批处理脚本监控程序

    1.要监控的程序为使用cygwin环境编译的exe可执行文件hello.exe,源码如下: #include <stdio.h> #include <unistd.h> voi ...

  3. [PyTorch]论文pytorch复现中遇到的BUG

    目录 1. zip argument #1 must support iteration 2. torch.nn.DataParallel 3. model.state_dict() 1. zip a ...

  4. (转载)ubuntu卸载opencv并重装opencv3.0.0

    ubuntu卸载opencv并重装opencv3.0.0 一. 卸载opencv2.4.9: Going to the "build" folder directory of op ...

  5. python 随机选择字符串中的一个字符

    import random print(random.choice('abcdefghijklm'))

  6. Composite(组合)

    意图: 将对象组合成树形结构以表示“部分-整体”的层次结构.C o m p o s i t e 使得用户对单个对象和组合对象的使用具有一致性. 适用性: 你想表示对象的部分-整体层次结构. 你希望用户 ...

  7. 依据分辨率区分手机、平板、pc

    /*手机*/ @media screen and (max-width:600px){ #header,#content,#footer{width:400px;} .right,.center{ma ...

  8. IE8 JSON is not defined

    问题原因: 昨天遇到了一个问题.就是用ajax从后台查询数据时,返回信息无法显示,经过提示发现是IE控制台提示: JSON is not defined 错误. 而且这个问题在本人自己的电脑上是不存在 ...

  9. E: 无法获得锁 /var/cache/apt/archives/lock - open (11 资源临时不可用)

    事件: 今软件包有更新,进入更新管理器,点击安装更新,出现错误. 错误提示: E: 无法获得锁 /var/cache/apt/archives/lock - open (11 资源临时不可用) E: ...

  10. 处理XML Publisher导出EXCEL值变为科学计数法的问题

    <fo:bidi-override direction="ltr" unicode-bidi="bidi-override"><?PoOrde ...