从一个标签视图移动到另一个按钮单击Android ActionBar

问题描述:

我正在使用http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/来制作Tab栏。

我还有3个选项卡,第二个选项卡视图包含一个列表视图,第三个e是设置。
设置包含重新载入按钮。当我点击重新加载按钮时,我想要移至第一个选项卡。

我该怎么做?从一个标签视图移动到另一个按钮单击Android ActionBar

+0

所有这些标签是他们片段或只是看法? –

+1

全部是片段 –

制作以下变化:

  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; 
        } 
    
    } 
    

这样做:

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

这不起作用。因为这里没有使用选项卡主机来执行该选项卡,所以在此使用操作栏。 –

我知道它很晚....也许它可以帮助别人......在片段创建一个构造不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; 
    } 

    } 

所以getactivity()是解决方案:我从这里得到它:How to go other Tabs by clicking on a Button from the current Tab in Android?