Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我在尝试更改视图时不断出错';带LayoutParams的s标注_Java_Android - Fatal编程技术网

Java 我在尝试更改视图时不断出错';带LayoutParams的s标注

Java 我在尝试更改视图时不断出错';带LayoutParams的s标注,java,android,Java,Android,我的活动设置如下: <RelativeLayout> <Button> <LinearLayout> <RelativeLayout> <LinearLayout> <--- THIS IS WHAT I WANT TO CHANGE <RelativeLayout> </LinearLayout> </Relativ

我的活动设置如下:

<RelativeLayout>
    <Button>
    <LinearLayout>
        <RelativeLayout>
             <LinearLayout>  <--- THIS IS WHAT I WANT TO CHANGE
        <RelativeLayout>
    </LinearLayout>
</RelativeLayout>
更新: 这里是有问题的XML文件,我感兴趣的是更改graph1 graph2 graph3和graph4

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#16467A"
    android:padding="10dp" >

        <Button
            android:id="@+id/btn_ok"
            android:layout_width="205dp"
            android:layout_height="40dp"
            android:layout_below="@+id/liniar"
            android:layout_marginTop="10dp"
            android:background="@drawable/kvadrat"
            android:clickable="true"
            android:text="ОК"
            android:textColor="#FFFFFF"
            android:textStyle="bold" />

        <LinearLayout
            android:id="@+id/liniar"
            android:layout_width="205dp"
            android:layout_height="190dp"
            android:layout_alignLeft="@+id/btn_ok"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="false"
            android:background="@drawable/kvadrat"
            android:orientation="vertical" >

            <RelativeLayout
                android:layout_width="204dp"
                android:layout_height="140dp"
                android:layout_gravity="top"
                android:layout_marginTop="10dp" >

                <LinearLayout
                    android:id="@+id/graph1"
                    android:layout_width="30dp"
                    android:layout_height="120dp"
                    android:layout_alignParentBottom="true"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentTop="false"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="20dp"
                    android:background="#00a313"/>

                <LinearLayout
                    android:id="@+id/graph2"
                    android:layout_width="30dp"
                    android:layout_height="140dp"
                    android:layout_alignParentBottom="true"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="15dp"
                    android:layout_toRightOf="@+id/graph1"
                    android:background="#00a313"/>

                <LinearLayout
                    android:id="@+id/graph3"
                    android:layout_width="30dp"
                    android:layout_height="80dp"
                    android:layout_alignParentBottom="true"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="15dp"
                    android:layout_toRightOf="@+id/graph2"
                    android:background="#00a313"/>

                <LinearLayout
                    android:id="@+id/graph4"
                    android:layout_width="30dp"
                    android:layout_height="50dp"
                    android:layout_alignParentBottom="true"
                    android:layout_marginLeft="15dp"
                    android:layout_toRightOf="@+id/graph3"
                    android:background="#00a313"/>
            </RelativeLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="3dp"
                android:orientation="horizontal" >

           <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="29dp"
                android:text="A"
                android:textColor="#DCA601"
                android:textSize="20dp"
                android:textStyle="bold"
                android:typeface="normal" />

           <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="31dp"
                android:text="B"
                android:textColor="#DCA601"
                android:textSize="20dp"
                android:textStyle="bold"
                android:typeface="normal" />

           <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="32dp"
                android:text="C"
                android:textColor="#DCA601"
                android:textSize="20dp"
                android:textStyle="bold"
                android:typeface="normal" />

           <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="32dp"
                android:text="D"
                android:textColor="#DCA601"
                android:textSize="20dp"
                android:textStyle="bold"
                android:typeface="normal" />

            </LinearLayout>

        </LinearLayout>

</RelativeLayout>

使用LogCat检查与错误相关的Java堆栈跟踪。如果无法解释堆栈跟踪告诉您的内容,请在提问时粘贴堆栈跟踪

但是,您的问题似乎是您正试图为
RelativeLayout
的子级使用
LinearLayout.LayoutParams
,因此我猜您得到的是
ClassCastException

LayoutParams
的特定风格由
视图的父级决定,而不是由
视图本身决定


BTW,您可以考虑调用<代码> GeLayOutPARAMSH()/代码>,调整现有实例,并通过<代码> SETLAOUT PARAMSH()/<代码>更新它,而不是创建一个新实例。特别是通过巧妙地使用基类(例如,

ViewGroup.LayoutParams
LinearLayout.LayoutParams
RelativeLayout.LayoutParams
),您可以更好地将自己与父级的特定类隔离开来。

您需要使用父级的LayoutParams,所以你需要使用RelativeLayout.LayoutParams,因为线性布局是在相对布局中。

是的,我尝试了很多东西,包括你说的,但都不起作用。。。这行代码正是您建议的,但它仍然给我错误:
RelativeLayout.LayoutParams=(RelativeLayout.LayoutParams)g1.getLayoutParams();参数高度=30;g1.setLayoutParams(参数)
@DavidSimka:在不知道错误是什么的情况下(例如,通过编辑问题以获得当前代码和堆栈跟踪),任何人都很难帮助您。@DavidSimka:是的,尽管只需在LogCat中突出显示行通常比较简单,按
-
,然后将它们粘贴到问题中(格式为源代码)。您的错误与问题中的代码无关--您在
MainActivity.java
的第52行有一个
NullPointerException
,在
onClick()
方法中。它实际上是第525行,即:g1.setLayoutParams(新的RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_内容,RelativeLayout.LayoutParams.WRAP_内容))是的,这是我一直试图添加的LayoutParams代码行中的空指针异常…@DavidSimka:很抱歉误读了行号。然后,
g1
null
。要么ID不是
graph1
,要么您的代码和资源在构建过程中稍微不同步(从Eclipse主菜单中执行Project>Clean以修复此问题),或者您尚未将
graph1
加载到活动的内容中。是的,当我执行此操作时,仍然会出现错误:g1.setLayoutParams(新的RelativeLayout.LayoutParams(LayoutParams.WRAP_content,LayoutParams.WRAP_content));尝试RelativeLayout.LayoutParams.WRAP_内容也可以添加logcat堆栈跟踪,并且您的实际layout.xml文件.g1为空,您可能尚未查找该文件,或者无法在您扩展的布局中找到视图。
    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#16467A"
    android:padding="10dp" >

        <Button
            android:id="@+id/btn_ok"
            android:layout_width="205dp"
            android:layout_height="40dp"
            android:layout_below="@+id/liniar"
            android:layout_marginTop="10dp"
            android:background="@drawable/kvadrat"
            android:clickable="true"
            android:text="ОК"
            android:textColor="#FFFFFF"
            android:textStyle="bold" />

        <LinearLayout
            android:id="@+id/liniar"
            android:layout_width="205dp"
            android:layout_height="190dp"
            android:layout_alignLeft="@+id/btn_ok"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="false"
            android:background="@drawable/kvadrat"
            android:orientation="vertical" >

            <RelativeLayout
                android:layout_width="204dp"
                android:layout_height="140dp"
                android:layout_gravity="top"
                android:layout_marginTop="10dp" >

                <LinearLayout
                    android:id="@+id/graph1"
                    android:layout_width="30dp"
                    android:layout_height="120dp"
                    android:layout_alignParentBottom="true"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentTop="false"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="20dp"
                    android:background="#00a313"/>

                <LinearLayout
                    android:id="@+id/graph2"
                    android:layout_width="30dp"
                    android:layout_height="140dp"
                    android:layout_alignParentBottom="true"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="15dp"
                    android:layout_toRightOf="@+id/graph1"
                    android:background="#00a313"/>

                <LinearLayout
                    android:id="@+id/graph3"
                    android:layout_width="30dp"
                    android:layout_height="80dp"
                    android:layout_alignParentBottom="true"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="15dp"
                    android:layout_toRightOf="@+id/graph2"
                    android:background="#00a313"/>

                <LinearLayout
                    android:id="@+id/graph4"
                    android:layout_width="30dp"
                    android:layout_height="50dp"
                    android:layout_alignParentBottom="true"
                    android:layout_marginLeft="15dp"
                    android:layout_toRightOf="@+id/graph3"
                    android:background="#00a313"/>
            </RelativeLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="3dp"
                android:orientation="horizontal" >

           <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="29dp"
                android:text="A"
                android:textColor="#DCA601"
                android:textSize="20dp"
                android:textStyle="bold"
                android:typeface="normal" />

           <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="31dp"
                android:text="B"
                android:textColor="#DCA601"
                android:textSize="20dp"
                android:textStyle="bold"
                android:typeface="normal" />

           <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="32dp"
                android:text="C"
                android:textColor="#DCA601"
                android:textSize="20dp"
                android:textStyle="bold"
                android:typeface="normal" />

           <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="32dp"
                android:text="D"
                android:textColor="#DCA601"
                android:textSize="20dp"
                android:textStyle="bold"
                android:typeface="normal" />

            </LinearLayout>

        </LinearLayout>

</RelativeLayout>