0

アプリに複数のアクティビティがあり、すべてのアクティビティにスライドドロワーを表示したいと考えています。私はここで与えられたアプローチに従っています。

アプリは、スライド ドロワー ハンドルのある黒い画面から始まります。

問題は、スライド ドロワーは表示されますが、FarmeLayout に配置されたアクティビティ レイアウトが表示されないことです。

活動は確かにあります。最初のアクティビティが読み込まれたときにトーストが表示されました。そこで、最初のアクティビティを変更して、次のアクティビティに進むためのボタンのみを配置しました。

次に、AVD の方向キーを使用して [OK] を押すと、次のアクティビティのトーストが表示されました。2 番目のアクティビティも非表示になります。

それで、私は何が欠けていますか???

最後に farme レイアウトを含む My Sliding Drawer レイアウト xml (LinearLayout):

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:orientation="horizontal"
    android:gravity="center_vertical">

        <SlidingDrawer
        android:id="@+id/slidingDrawer"
        android:handle="@+id/drawerHandle"
        android:content="@+id/contentLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:persistentDrawingCache="all">

        <ToggleButton
            android:id="@+id/drawerHandle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:maxHeight="5dp"
            android:textSize="14dp"
            android:textStyle="italic"
            android:background="#BB00FF"
            android:rotation="270"
            android:textOn=""
            android:textOff=""/>

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/contentLayout"
            android:gravity="center"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:contentDescription="@string/todo">

            <TextView android:layout_width="fill_parent"
                android:layout_height="wrap_content" 
                android:layout_gravity="top"
                android:text="@string/list_view_" />
        </LinearLayout>
    </SlidingDrawer>

    <FrameLayout
    android:id="@+id/act_content"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:layout_gravity="bottom"
    android:background="#808080"
    android:visibility="visible">
    </FrameLayout>
</LinearLayout>

DrawerActivity Java コード:

public abstract class DrawerActivity extends Activity 
{
protected LinearLayout fullLayout;
protected FrameLayout actContent;

  @Override
  public void setContentView(final int layoutResID) 
  {
    fullLayout= (LinearLayout) getLayoutInflater().inflate(R.layout.act_layout, null); // Your base layout here
    actContent= (FrameLayout) fullLayout.findViewById(R.id.act_content);
    getLayoutInflater().inflate(layoutResID, actContent, true); // Setting the content of layout your provided to the act_content frame
    super.setContentView(fullLayout);
  }
}

setContentView(R.layout.XXXXXXXX);すべてのアクティビティ ファイルで、onCreateメソッドに入れました。

では、アクティビティを表示するにはどうすればよいですか?? 私は何を間違っていますか??

以下を入れてみましたが効果なし

actContent.setVisibility(layoutResID); 
or 
actContent.setVisibility(View.VISIBLE);
4

0 に答える 0