2014-12-31 2 views
0

Я создаю приложение, которое предоставляет пользовательские добавления и удаления вкладок из TABFragment. теперь я хочу дать идентификатор каждой вкладки, которую я создал обычай. и получить идентификатор, где я точно. Я также использовал tab.getPosition, но он дает мне, где я точно. Например, я создал пять страниц. теперь, когда я 4-я вкладка, а затем я хочу 5-й вкладке идентификатор пятой страницы в фоновом режиме. Пожалуйста, дайте мне наилучшее предложение и любые пожелания. СпасибоКак указать идентификатор каждого фрагмента и использовать его Tab Fragment android

my Добавить код кнопки.

btNewtab.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 


      actionBar.addTab(actionBar.newTab().setText("New Tabs") 
        .setTabListener(HomeActivity.this)); //Adding new tab 

      COUNT_TAB+=1; //Add tab for counting 


      mAdapter.notifyDataSetChanged(); 
     } 
    }); 

ответ

1

Вы можете легко идентифицировать отдельные вкладки с помощью Tag. просто установите тег для каждой вкладки и выполните действие на своей основе.

т.е.
COUNT_TAB+=1;//put this line before so that you can use it as tag 
    actionBar.addTab(actionBar.newTab().setText("New Tabs") 
        .setTabListener(HomeActivity.this).setTag(COUNT_TAB)); 

// Если вы хотите установить выбранную вкладку изначально отличается от дефолта, то установить истинным или ложным, чтобы указать, какая вкладка должна быть выбрана. вы можете изменить положение добавленной вкладки, установив положение. Ниже приведен код, т.е.

actionBar.addTab(actionBar.newTab().setText("TAB1").setTag("tab1") 
    .setTabListener(this),0,false); 
actionBar.addTab(actionBar.newTab().setText("TAB2").setTag("tab2") 
    .setTabListener(this),1,true); 
actionBar.addTab(actionBar.newTab().setText("TAB3").setTag("tab3") 
    .setTabListener(this),2,false); 

// Для обработки события щелчка вкладки вы должны переопределить метод onTabSelected() я поставил некоторые примеры кода надеется, что это поможет.

@Override 
    public void onTabSelected(ActionBar.Tab tab, 
      FragmentTransaction fragmentTransaction) { 
     if (tab.getTag().equals("tab1")) { 
      // When the given tab is selected, show the tab contents in the 
      // container view. 
      Fragment fragment = new DummySectionFragment(); 
      Bundle args = new Bundle(); 
      args.putInt("myvalues", 1); 
      fragment.setArguments(args); 
      getFragmentManager().beginTransaction() 
        .replace(R.id.container, fragment).commit(); 
     } else if (tab.getTag().equals("tab2")) { 
      Toast.makeText(this, "two clicked", Toast.LENGTH_LONG).show(); 
     } else if (tab.getTag().equals("tab3")) { 
      Toast.makeText(this, "three clicked", Toast.LENGTH_LONG).show(); 
     } 
    } 
+0

спасибо за ваш повтор. Эта работа для получения тега, Теперь, как я могу получить тег из вкладки? и когда у меня есть три вкладки, а моя текущая позиция - 2-я вкладка, а мой код нужно получить под третьей вкладкой. как это сделать. Надеюсь, вы понимаете, что мой engish - это нехорошо. Еще раз спасибо –

+0

как инициализировать вкладку, чтобы получить текущую позицию вкладки? –

+1

Я изменил код.Пожалуйста, проверьте его. Я надеюсь, что это вам поможет. –