簡體   English   中英

通過按鈕從一個選項卡視圖移動到另一個視圖單擊Android ActionBar

[英]Moving From one tab view to another by button Click Android ActionBar

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

我也有3個標簽頁,第二個標簽頁視圖包含一個列表視圖,第三個標簽頁是“設置”。
設置包含重新加載按鈕。 當我單擊“重新加載”按鈕時,我想移至“第一選項卡”。

我怎樣才能做到這一點 ?

進行以下更改:

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

我知道它已經很晚了....也許它可以幫助其他人...不支持在片段中創建構造函數..因此,與其將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()是解決方案:我是從這里得到的: 如何通過單擊Android當前選項卡中的按鈕來轉到其他選項卡?

做這個:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM