如何从我的应用程序注销并在android上刷新?

时间:2012-01-21 03:22:39

标签: android logout android-tabactivity

我是android的新手,我需要问这个问题。

我构建了一些实现TabLayout的android应用程序,因此每个活动都由我的应用程序上的每个选项卡保存。 但在此之前,我们应该面对登录活动。

我的问题是我们如何在Tab活动中退出,如何在该选项卡上的每个活动中刷新它?我有3个标签,我实现菜单“注销”和“刷新”,还有“约”的菜单。 这是我在TabActivity上的示例代码,但是当我们点击菜单时,我只是在每个动作中实现吐司。

public class SampleTabActivity extends TabActivity {

private TabHost tabHost;
private Resources res;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

    setContentView(R.layout.sipadutab);

    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title);

    res = getResources(); // Resource object to get Drawables
    tabHost = getTabHost();  // The activity TabHost
    TabHost.TabSpec spec;  // Resusable TabSpec for each tab
    Intent intent;  // Reusable Intent for each tab

    tabHost.setCurrentTab(0);

    tabHost.setOnTabChangedListener(this); // set listener to tabhost IMPORTANT IMPORTANT

    // Create an Intent to launch an Activity for the tab (to be reused)
    intent = new Intent().setClass(this, FirstActivity.class);
    // Initialize a TabSpec for each tab and add it to the TabHost
    spec = tabHost.newTabSpec("first").setIndicator("First",
                      res.getDrawable(R.drawable.one))
                  .setContent(intent);
    tabHost.addTab(spec);       

    // Initialize a TabSpec for each tab and add it to the TabHost
    intent = new Intent().setClass(this, SecondActivity.class);
    spec = tabHost.newTabSpec("second").setIndicator("Second",
            res.getDrawable(R.drawable.two))
        .setContent(intent);
    tabHost.addTab(spec);

    // Initialize a TabSpec for each tab and add it to the TabHost
    intent = new Intent().setClass(this, ThirdActivity.class);
    spec = tabHost.newTabSpec("third").setIndicator("Third",
            res.getDrawable(R.drawable.three))
        .setContent(intent);
    tabHost.addTab(spec);



// Initiating Menu XML file (menu.xml)
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    MenuInflater menuInflater = getMenuInflater();
    menuInflater.inflate(R.layout.menuscreen, menu);
    return true;
}


@Override
public boolean onOptionsItemSelected(MenuItem item)
{

    switch (item.getItemId())
    {
    case R.id.menu_about:
        // Single menu item is selected do something
        // Ex: launching new activity/screen or show alert message
        Toast.makeText(SampleTabActivity.this, "About is Selected", Toast.LENGTH_SHORT).show();
        return true;

    case R.id.menu_refresh:
        Toast.makeText(SampleTabActivity.this, "Refresh is Selected", Toast.LENGTH_SHORT).show();
        return true;

    case R.id.menu_logout:
        Toast.makeText(SampleTabActivity.this, "Logout is Selected", Toast.LENGTH_SHORT).show();
        return true;

    default:
        return super.onOptionsItemSelected(item);
    }
}   

}

提前致谢。

1 个答案:

答案 0 :(得分:2)

我想要退出时删除所有标签,然后使用新凭据重新创建它们。

getTabHost().clearAllTabs();