如何单击操作栏中的弹出窗口?

时间:2011-09-22 05:04:27

标签: android

我创建了动作栏。当我点击其中一个菜单时,应该显示一个弹出窗口。我已经完成了。但是弹出窗口显示后我无法在我的操作栏中执行其他功能.howw我可以实现这一点。我已经发布了我的代码。

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);




}

public void onTabSelected(Tab tab, FragmentTransaction ft) {

        mDisplayMode = tab.getPosition();
        System.out.println("text");

        // Do stuff based on new tab selected

    }


public void onTabUnselected(Tab tab, FragmentTransaction ft) {
    // Do Nothing

}

public void onTabReselected(Tab tab, FragmentTransaction ft) {
    // Do nothing


}*/



        ActionBar bar = getActionBar();

        bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        ActionBar.Tab tabA = bar.newTab().setText("Home");
        ActionBar.Tab tabB = bar.newTab().setText("Listings");
        ActionBar.Tab tabC = bar.newTab().setText("Remote");
        Fragment fragmentA = new ATab();
        Fragment fragmentB = new BTab();
        Fragment fragmentC = new CTab();
        bar.setDisplayShowHomeEnabled(true);
        tabA.setTabListener(new MyTabsListener(fragmentA));
        tabB.setTabListener(new MyTabsListener(fragmentB));
        tabC.setTabListener(new MyTabsListener(fragmentC));
        bar.addTab(tabA);
        bar.addTab(tabB);
        bar.addTab(tabC);

    }

    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.option, menu);

        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle item selection
        switch (item.getItemId()) {
        case R.id.settings:
            newGame();
            return true;
        case R.id.help:
            // showHelp();
            return true;
        default:
            return super.onOptionsItemSelected(item);
        }
    }

    private void newGame() {




         LayoutInflater inflater = (LayoutInflater)
           this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        PopupWindow pw = new PopupWindow(
           inflater.inflate(R.layout.settings, null, true), 300, 600, true);

        // The code below assumes that the root container has an id called 'main'

        pw.showAtLocation(this.findViewById(R.id.settings), Gravity.RIGHT, 0, 0); 


    }

    protected class MyTabsListener implements ActionBar.TabListener {
        private Fragment mfragment;

        public MyTabsListener(Fragment fragment) {
            this.mfragment = fragment;

        }

        @Override
        public void onTabSelected(Tab tab, FragmentTransaction ft) {
            ft.add(R.id.fragment_place, mfragment, null);

        }

        @Override
        public void onTabReselected(Tab tab, FragmentTransaction ft) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onTabUnselected(Tab tab, FragmentTransaction ft) {
            // TODO Auto-generated method stub
            ft.remove(mfragment);

        }
    }
}

0 个答案:

没有答案