2

私のアプリケーションでは、Sherlock アクションバーとスライド メニューを使用しています。

次のように、Sherlock Fragment アクティビティからスライド メニューの切り替えを使用できます。

switch (item.getItemId()) {

    case android.R.id.home:
        toggle();
        break;}

しかし今、私はアクションバーを非表示にしようとしており、フラグメントからアクションバーメニューボタンを使用したいと考えています.

アクションバーを非表示にしましたが、フラグメントから toggle() を使用するにはどうすればよいですか?

fragmentActivity の代わりにフラグメントから android.R.id.home アクションを使用する方法を教えてください。

4

1 に答える 1

3

これを行う 2 つの方法:

  1. あなたのアクティビティで onOptionsItemSelected をオーバーライドし、クリックされたホームボタンを処理し、他のオプションメニューのスーパーを呼び出します。(ホームの場合、新しい toggle() が呼び出され、フラグメントでそれらを処理できる他のメニュー オプション)

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case android.R.id.home:
            toggle();
            return true;
    
        default:
            return super.onOptionsItemSelected(item);
        }
    }
    
  2. でインターフェイスを定義し、Fragmentに実装しますActivityandroid.R.id.homeFragment のcase でインターフェイス関数を呼び出しtoggle()てから、Activity.

于 2013-04-08T07:42:07.597 に答える