1

みたいなことをしています。

@Override
    public void onBackPressed() {
        homeTabLayout = findViewById(R.id.rel_HomeLayout);
        reviewLayout = findViewById(R.id.scroll_ReviewLayout);

        if (reviewLayout.getVisibility() == View.VISIBLE) {
            reviewLayout.setVisibility(View.GONE);
        } else {

        }
    }

ただし、以下の例外が発生します(backKeyを押している間)

java.lang.NullPointerException

my.package.name.MainActivity.onBackPressed(MainActivity.java:303)

これは、この reviewLayout と reviewLayout を含まない XML ファイルです。

   <?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <RelativeLayout
            android:id="@+id/Rel_ScreenFirst"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/top_header_gradient"
            android:paddingBottom="8dp"
            android:paddingTop="8dp" >

            <TextView
                android:id="@+id/txt_Login"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="6dp"
                android:layout_toLeftOf="@+id/txt_Register"
                android:layout_alignParentRight="true"
                android:clickable="true"
                android:text="Login/Register"
                android:textColor="@color/White"
                android:textSize="12sp" />


            <TextView
                android:id="@+id/txt_Shia"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBaseline="@+id/txt_islamicLibrary"
                android:layout_alignParentLeft="true"
                android:paddingLeft="5dp"
                android:text="Shia"
                android:textColor="@color/White"
                android:textSize="15sp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/txt_islamicLibrary"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/txt_Shia"
                android:text="IslamicLibrary"
                android:textColor="@color/White"
                android:textSize="23sp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/txt_dotCom"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBaseline="@+id/txt_islamicLibrary"
                android:layout_toRightOf="@+id/txt_islamicLibrary"
                android:text=".com"
                android:textColor="@color/White"
                android:textSize="12sp"
                android:textStyle="bold" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/Rel_Spinner"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/Rel_ScreenFirst"
            android:background="@drawable/bottom_header"
            android:padding="5dp" >

            <Spinner
                android:id="@+id/spnrLanguage"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="2dp"
                android:paddingLeft="5dp" >
            </Spinner>

            <FrameLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_toLeftOf="@+id/spnrBrowseBy"
                android:layout_toRightOf="@+id/spnrLanguage" >

                <EditText
                    android:id="@+id/EditTxt_Search"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:hint="Search Here..."
                    android:inputType="text"
                    android:selectAllOnFocus="true"
                    android:singleLine="true"
                    android:textSize="12sp"
                    android:textStyle="bold" >
                </EditText>

                <Button
                    android:id="@+id/btn_GO"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right|center_vertical"
                    android:text="GO" />
            </FrameLayout>

            <Spinner
                android:id="@+id/spnrBrowseBy"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_marginRight="2dp"
                android:paddingLeft="5dp"
                android:text="Browse By" >
            </Spinner>
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/rel_01"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_below="@+id/Rel_Spinner"
            android:layout_gravity="bottom" >

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="fill_parent"
                android:layout_height="60dp"
                android:layout_alignParentBottom="true"
                android:tabStripEnabled="false" />

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_above="@android:id/tabs"
                android:layout_alignParentLeft="true"
                android:layout_margin="0dp"
                android:background="@drawable/background" >
            </FrameLayout>
        </RelativeLayout>
    </RelativeLayout>

</TabHost>

はい、そうです、コンテンツ レイアウトには存在しません。このビューの参照を取得するにはどうすればよいですか。実際のビューは私の Home.java ファイルで終了します..そして、このすべてのコードを Main.java ファイルで実行しています。

4

3 に答える 3

1

あなたが設定した View には R.id.scroll_ReviewLayout がないと思います。そのため、レイアウト xml に存在するかどうかを確認するか、null チェックを追加します

if (reviewLayout != null && reviewLayout.getVisibility() == View.VISIBLE) {
            reviewLayout.setVisibility(View.GONE);
        }
于 2012-11-20T11:13:47.413 に答える
1

私はわかりません。ただし、以下の変更を試してください

homeTabLayout = (RelativeLayout) findViewById(R.id.rel_HomeLayout); //(Relativelayout) is object of rel_HomeLayout. So ,use name of rel_HomeLayout control


 reviewLayout = (RelativeLayout) findViewById(R.id.scroll_ReviewLayout);
于 2012-11-20T11:14:36.497 に答える
0

ログを行の下に置くだけです

reviewLayout = findViewById(R.id.scroll_ReviewLayout);

reviewLayoutがnullかどうかを確認します

 Log.i("Log","reviewLayout " + reviewLayout);
于 2012-11-20T11:13:43.733 に答える