我是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);
}
}
}
提前致谢。
答案 0 :(得分:2)
我想要退出时删除所有标签,然后使用新凭据重新创建它们。
getTabHost().clearAllTabs();