嗨我创建了一个Android应用程序,其中包含带有3个tabs的操作栏。我使用视图寻呼机和适配器创建了它。它运行成功。但是现在我用弹出窗口创建了一个新活动。我添加了我的activity_main作为我的内容视图。但它没有显示动作栏标签。我不知道为什么。我是新手。所以请帮助我,提前谢谢。
这是我的代码
MainActivity.java
public class MainActivity1 extends FragmentActivity implements
ActionBar.TabListener {
private ViewPager viewPager;
private TabsPagerAdapter mAdapter;
private ActionBar actionBar;
// Tab titles
private String[] tabs = { "Featured", "Games", "Entertainment" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = (ViewPager) findViewById(R.id.pager);
actionBar = getActionBar();
mAdapter = new TabsPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(mAdapter);
actionBar.setHomeButtonEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// Adding Tabs
for (String tab_name : tabs) {
actionBar.addTab(actionBar.newTab().setText(tab_name)
.setTabListener(this));
}
/**
* on swiping the viewpager make respective tab selected
* */
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// on changing the page
// make respected tab selected
actionBar.setSelectedNavigationItem(position);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// on tab selected
// show respected fragment view
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
}
}
以下是我想要弹出的代码
public class Main extends FragmentActivity implements
ActionBar.TabListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.hii);
Button b1=(Button)findViewById(R.id.button1);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
final Dialog dialog = new Dialog(Main.this);
// Include dialog.xml file
dialog.setContentView(R.layout.activity_main);
// Set dialog title
dialog.setTitle("Custom Dialog");
// set values for custom dialog components - text, image and button
dialog.show();
}
});
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}
答案 0 :(得分:0)
主要问题出在您的对话框视图中。您必须创建一个自定义的对话框,并且必须使用操作栏选项卡添加样式。如果您在对话框中使用该样式,那么所有这些操作栏选项卡都会出现。
我建议不要在你的b1.setOnclick方法中使用对话框创建一个单独的Dialog类,它将扩展Dialog类。你设置内容视图并使用操作栏选项卡进行适当的布局,就像你为你做的那样活性。
并从dialog class
扩充布局。这样的事情: -
b1.setOnClickListener(new View.setOnClickListener){
new actionbarDialog(MainActivity.this).show();
}
并创建一个actionbarDialog
类,它将扩展Dialog class
。
并在该类的onCreate()方法中编写您在MainActivity中编写的操作栏的逻辑。您将在Dialog中获取操作栏选项卡。