1

ここからスライド メニュー lib を取得しました。ここで何が問題なのかわかりません。この右側にスライド メニューが表示されますが、空白です。ここにコードがあります

// customize the SlidingMenu
        SlidingMenu sm = getSlidingMenu();
        sm.setMode(SlidingMenu.LEFT_RIGHT);
        sm.setShadowWidthRes(R.dimen.shadow_width);
        sm.setShadowDrawable(R.drawable.shadow);
        sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
        sm.setFadeDegree(0.35f);
        //sm.setTouchModeAbove(SlidingMenu.LEFT_RIGHT);



        getSupportActionBar().setDisplayShowHomeEnabled(true);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

これが私がsecondarymenuを呼び出す方法です

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case android.R.id.home:
            showSecondaryMenu();

            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

これがフラグメントをインスタンス化する方法です。

setContentView(R.layout.activity_home_frame);
        getSupportFragmentManager()
        .beginTransaction()
        .replace(R.id.home_screen, new MapFragment())
        .commit();

        getSlidingMenu().setSecondaryMenu(R.layout.activity_home_frame);
        getSupportFragmentManager()
        .beginTransaction()
        .replace(R.id.home_screen, new MapFragment())
        .commit();

        // set the Behind View
        setBehindContentView(R.layout.activity_settings_frame);
        getSupportFragmentManager()
        .beginTransaction()
        .replace(R.id.settings_screen, new SettingsFragment())
        .commit();

私の地図の断片

public class MapFragment extends SherlockFragment{

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.activity_map, null);
    }

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);

    }

}

設定フラグメント

public class SettingsFragment extends SherlockFragment{

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.activity_settings, null);
    }

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);

    }

}

設定レイアウト

<?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="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="Settings view."
        ></TextView>
</LinearLayout>

マップレイアウト

<?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="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Your map "
        ></TextView>
</LinearLayout>

右側のメニューが空白になる理由を教えてください。

4

1 に答える 1

3

それはうまくいきました、問題はです。これの代わりに

 getSlidingMenu().setSecondaryMenu(R.layout.activity_home_frame);

私は電話する必要があります

getSlidingMenu().setSecondaryMenu(getLayoutInflater().inflate(R.layout.activity_map, null));
于 2013-02-20T07:33:15.640 に答える