0

メニューイベントのアクティビティがあります。

public class GlobalMenu extends Activity{

    private MenuItem item;

    public boolean event(MenuItem item){
        this.item = item;
        // Handle item selection
        switch (this.item.getItemId()) {
            case R.id.menu_stop:
                finish();
                return true;
        }
        return true;
    }
}

そして、私はそれをこのように使用します

GlobalMenu gm = new GlobalMenu();

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    return gm.event(item);
}

しかし、仕上げがうまくいきませんでした。アプリケーションとリンクする必要があると思いますが、方法がわかりません。

ありがとう

4

1 に答える 1

1

まず第一に、Androidアクティビティのオブジェクトまたはインスタンスを作成することはできません。このような

GlobalMenu gm = new GlobalMenu();

GlobalMenuアクティビティのコンテキストを他のアクティビティまたはクラスに渡してから、これに対してfinishを呼び出す必要があります。

好き、

((GlobalMenu)mContext).finish();

ここで、 mContextはの参照ですGlobalMenu Activity

于 2013-01-12T18:30:34.850 に答える