2013-12-12 2 views
2

Я использую http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/, чтобы сделать панель вкладок.

У меня также есть 3 вкладки, а второй вид таблицы содержит вид списка, а третий - e.
Настройки Включить кнопку «Обновить». Когда я нажал кнопку «Обновить», я хочу перейти к первой вкладке.

Как это сделать?Перемещение с одной вкладки на другую кнопкой Нажмите Android ActionBar

+0

Все эти вкладки они фрагментировать или просто мнения? –

+1

Все являются фрагментами –

ответ

6

Внести следующие изменения:

  1. Передайте ссылку ViewPager к адаптеру и от адаптера до вашего фрагмента:

    public class TabsPagerAdapter extends FragmentPagerAdapter { 
        ViewPager viewPager; 
        public TabsPagerAdapter(FragmentManager fm,ViewPager viewPager) { 
         super(fm); 
         this.viewPager=viewPager; 
        } 
    
        @Override 
        public Fragment getItem(int index) { 
    
         switch (index) { 
         case 0: 
          // Top Rated fragment activity 
          return new TopRatedFragment(viewPager); 
         case 1: 
          // Games fragment activity 
          return new GamesFragment(viewPager); 
         case 2: 
          // Movies fragment activity 
          return new MoviesFragment(viewPager); 
         } 
    
         return null; 
        } 
    
        @Override 
        public int getCount() { 
         // get item count - equal to number of tabs 
         return 3; 
        } 
    
    } 
    
  2. В фрагменте на клик кнопки выбора набора вызовов в представлении объекта пейджера:

    public class MoviesFragment extends Fragment { 
         private ViewPager viewPager; 
         public MoviesFragment (ViewPager viewPager;){ 
          this.viewPager=viewPager; 
         } 
         @Override 
        public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
    
         View rootView = inflater.inflate(R.layout.fragment_movies, container, false); 
         rootView.findViewById(<your button>).setOnClickListener(new OnClickListener() { 
    
          @Override 
          public void onClick(View arg0) { 
           viewPager.setCurrentItem(0); 
    
          } 
         }); 
         return rootView; 
        } 
    
    } 
    
0

ли это:

btn.setOnClickListener(new OnClickListener() 
{ 
onClick(View v) 
{ 
//Reload the data 
tabHost.setCurrentTab(/*destination-tab-id*/); 
} 
} 
) 
+2

Это не работает. Поскольку здесь не используется вкладка «Вкладка» для выполнения вкладки, здесь используется панель действий. –

1

Я знаю его довольно поздно .... может быть, это может помочь кому-то еще ... создать конструктор фрагментарно не supported..so вместо передачи ViewPager в качестве конструктора .. мы можем написать в фрагменте на кнопку мыши:

import android.os.Bundle; 
    import android.support.v4.app.Fragment; 
    import android.support.v4.view.ViewPager; 
    import android.view.LayoutInflater; 
    import android.view.View; 
    import android.view.ViewGroup; 
    import android.widget.TextView; 

    /** 
    * Created by medha singh on 6/17/2016. 
    */ 
    public class Fragment4 extends Fragment { 


    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,     Bundle savedInstanceState) { 
    super.onCreateView(inflater, container, savedInstanceState); 
    final View view1 = inflater.inflate(R.layout.new_lead2, container, false); 
    TextView tv=(TextView)view1.findViewById(R.id.hardware); 
    final ViewPager pager= (ViewPager)getActivity().findViewById(R.id.pager2); 
    tv.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
     pager.setCurrentItem(1); 


     } 
    }); 
    return view1; 
    } 

    } 

So getactivity() есть решение: я получил его отсюда: How to go other Tabs by clicking on a Button from the current Tab in Android?

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