获取LinearLayout时出现Null Exception错误

时间:2012-02-25 22:19:01

标签: android android-layout

这是我的xml代码

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >
    <LinearLayout
        android:id="@+id/HUD_Display"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:background="@drawable/hud"
        android:contentDescription="HUDContent"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/HUD_Text_Element1"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layout_gravity="center"
            android:layout_marginTop="175dp"
            android:textSize="20dp"
            android:text="Hello World"
            android:tag="hud"
            android:textColor="@color/Black"
            android:typeface="serif" />

        <TextView
            android:id="@+id/HUD_Text_Element2"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layout_gravity="center"
            android:layout_marginTop="2dp" 
            android:textSize="20dp"
            android:tag="hud"
            android:text="Hello World HOW"
            android:textColor="@color/Black"
            android:typeface="serif" />

         <TextView
            android:id="@+id/HUD_Text_Element3"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layout_gravity="center"
            android:layout_marginTop="1dp" 
            android:textSize="20dp"
            android:tag="hud"
            android:text="Hello World HOW"
            android:textColor="@color/Black"
            android:typeface="serif" />

          <TextView
            android:id="@+id/HUD_Text_Element4"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layout_gravity="center"
            android:layout_marginTop="1dp" 
            android:textSize="20dp"
            android:text="Hello World"
            android:textColor="@color/Black"
            android:typeface="serif" />
</LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/Btn01"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:layout_marginTop="100dp"
                android:onClick="handleClick"
                android:textColor="@color/White"
                android:textSize="25dp"
                android:textStyle="bold"
                android:typeface="normal" />

            <Button
                android:id="@+id/Btn1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginTop="100dp"
                android:onClick="handleClick"
                android:textColor="@color/White"
                android:textSize="25dp"
                android:textStyle="bold"
                android:typeface="sans" /> 
        </LinearLayout>

这是SecondActivity Main2.layout谁正在为要添加不同级别的main3进行膨胀。

setContentView(R.layout.main2);

    // ViewGroup where n number of view is going to added
    ViewGroup layout= (ViewGroup) findViewById(R.id.main3);

    // inflating the layout depending on the level 
    View view = View.inflate(this,FirstActivity.levels, null);

    Sample sam= new Sample(view.getContext(), level, layout);

现在我已经创建了Sample类Object ..Here是示例类

公共类示例{

Sample(Context context, View vs, ViewGroup layout) {

LinearLayout HUDDisplay=(LinearLayout) layout.findViewById(R.id.HUD_Display);

Log.d("Check", "msg" + HUDDisplay.getContentDescription().toString());


    int count =HUDDisplay.getChildCount();

    Log.d("TextView","Count" + count);      
    for(int i=0;i<count;++i)
    {
        Log.d("TextView","textview" + HUDDisplay.getChildAt(i).toString());
    }


}

我在HUDdisplay点获得NULL EXCEPTION ERROR?这有什么问题? 我想将textvalue设置为

2 个答案:

答案 0 :(得分:0)

尝试将线性布局更改为查看,看看会发生什么

答案 1 :(得分:0)

检查此行中是否有线性布局对象。

ViewGroup layout= (ViewGroup) findViewById(R.id.main3);

它可能是NULL。