2014-02-21 5 views
0

привет, я создал приложение для Android, которое содержит панель действий с 3 вкладками. Я создал ее с помощью пейджера и адаптера представления. Он работает успешно. Но теперь я создал новое действие с всплывающим окном. Я добавил свой Activity_main в качестве моего контента. Но он не показывает вкладки панели действий. Я не знаю, почему. Я новичок в android. Поэтому, пожалуйста, помогите мне, спасибо заранее.Android всплывающее окно не отображается Экран действия

вот мой код

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

но его взгляд в моем коде .., вы хотите простой диалог, в котором у вас есть 2 кнопки? – rajshree

ответ

0

Основная проблема заключается в вашем диалоге зрения , Вам нужно создать диалоговое окно, которое является обычным, и добавить стиль с вкладкой панели действий. Если вы используете этот стиль в своем диалоговом окне, тогда появятся все эти вкладки панели действий.

Я бы рекомендовал вместо использования диалога в вашем методе b1.setOnclick создать отдельный класс Dialog, который расширит класс Dialog. Там вы установите представление содержимого и сделаете правильный макет с вкладками панели действий так же, как и то, что вы сделали для вашей деятельности.

и раздуйте макет с этого dialog class. Что-то вроде этого: -

 b1.setOnClickListener(new View.setOnClickListener){ 

      new actionbarDialog(MainActivity.this).show(); 
     } 

и создать класс actionbarDialog, который будет распространяться Dialog class.

и в методе onCreate() этого класса напишите логику панели действий, которую вы написали в MainActivity. В диалоге вы получите вкладку панели действий.

+0

Можете ли вы показать пример, если у dnt mind please – prince

Смежные вопросы