想要在单击选项卡时退出应用程序

时间:2012-01-06 12:47:33

标签: android tabs

我正在创建一个应用程序,其中我设置了两个底部标签

即“退出”和“退回”。

现在我想点击“退出”标签(不是按钮)退出应用程序。

我怎么能这样做,我知道在android中我们永远无法关闭应用程序,但我想点击“退出”进入主屏幕。

我已经研究了以下链接以及其他链接

Is quitting an application frowned upon?

修改

public class Man_age_ur_PhoneActivity extends TabActivity {

    /** Called when the activity is first created. */
    ListView listview;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.homepage);
        setTabs();
    }

    private void setTabs()
    {
        addTab("Exit", R.drawable.tab_exit);
        addTab("Back", R.drawable.tab_back);
        //To add more tabs just use addTab() method here like previous line.
    }

    private void addTab(String labelId, int drawableId)
    {
        TabHost tabHost = getTabHost();
//      Intent intent = new Intent(this, c);
        TabHost.TabSpec spec = tabHost.newTabSpec("" + labelId);    

        View tabIndicator = LayoutInflater.from(this).inflate(R.layout.tab_indicator, getTabWidget(), false);
        TextView title = (TextView) tabIndicator.findViewById(R.id.title);
        title.setText(labelId);
        ImageView icon = (ImageView) tabIndicator.findViewById(R.id.icon);
        icon.setImageResource(drawableId);

        spec.setIndicator(tabIndicator);
//      spec.setContent(intent);
        tabHost.addTab(spec);
        }
}

3 个答案:

答案 0 :(得分:1)

单击第二个选项卡,您只需编写“finish();”。这将关闭先前打开的活动,您可以退出应用程序。

答案 1 :(得分:0)

您可以使用此代码

public class Man_age_ur_PhoneActivity extends TabActivity {

    /** Called when the activity is first created. */
    ListView listview;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.homepage);
        setTabs();

    getTabHost().setOnTabChangedListener(new OnTabChangeListener() {

    @Override
    public void onTabChanged(String tabId) {

    int i = getTabHost().getCurrentTab();
     Log.i("@@@@@@@@ ANN CLICK TAB NUMBER", "------" + i);

        if (i == 0) {
                        Log.i("@@@@@@@@@@ Inside onClick tab 0", "onClick tab");

                        }
           else if (i ==1) {
                        Log.i("@@@@@@@@@@ Inside onClick tab 1", "onClick tab");
             }

                }
            });



    }

    private void setTabs()
    {
        addTab("Exit", R.drawable.tab_exit);
        addTab("Back", R.drawable.tab_back);
        //To add more tabs just use addTab() method here like previous line.
    }

    private void addTab(String labelId, int drawableId)
    {
        TabHost tabHost = getTabHost();
//      Intent intent = new Intent(this, c);
        TabHost.TabSpec spec = tabHost.newTabSpec("" + labelId);    

        View tabIndicator = LayoutInflater.from(this).inflate(R.layout.tab_indicator, getTabWidget(), false);
        TextView title = (TextView) tabIndicator.findViewById(R.id.title);
        title.setText(labelId);
        ImageView icon = (ImageView) tabIndicator.findViewById(R.id.icon);
        icon.setImageResource(drawableId);

        spec.setIndicator(tabIndicator);
//      spec.setContent(intent);
        tabHost.addTab(spec);
        }
}

同时导入此

import android.widget.TabHost;
import android.widget.TabHost.OnTabChangeListener;

取自此链接 Android TabWidget detect click on current tab

答案 2 :(得分:0)

通常Android应用不应该有退出选项,例如请参阅此帖子:http://blog.radioactiveyak.com/2010/05/when-to-include-exit-button-in-android.html

如果你真的想要,你也可以调用System.exit(),这可以保证完全关闭应用程序。