1
ActionBar actionBar = getSupportActionBar();
mDrawerList.setAdapter(new ArrayAdapter<String>(this,R.layout.drawer_list_item, DrawTitles));
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close) {
    public void onDrawerClosed(View view) {
        actionBar.setTitle("fd");
        invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
    }

    public void onDrawerOpened(View drawerView) {
        Log.e("KFF", "Draw Open");
        String mystring = "reewr";
        SpannableString s = new SpannableString(mystring);
        s.setSpan(new TypefaceSpan(MainActivity.this, "cubano"), 0, s.length(),
        Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        actionBar.setTitle(s);
        invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
    }
};

アクションバーのトグルアイコンとすべての機能を含め、すべてが期待どおりに機能しているにもかかわらず、私が何をしようとしても、onDrawerOpenedまたはが呼び出されていません。Closed

4

2 に答える 2

2

解決しました。

それは些細なことだったようです:

 mDrawerLayout.setDrawerListener(mDrawerToggle);

実際の DrawerToggle をセットアップする前に、変数が正しい型であり、単に null であるため、初期化してエラーをスローしていませんでした。

目を離さないでください。

于 2013-10-19T00:57:55.373 に答える
0

invalidateOptionsMenu ()の代わりに supportInvalidateOptionsMenu()を使用する必要があります。

Gabriele Mariotti によるこの投稿は、NavigationDrawer で ActionBarCompatを使用するのに役立ちます

コードを紛失しないように注意してください ;)

于 2013-10-18T12:22:27.417 に答える