从一个标签视图移动到另一个按钮单击Android ActionBar
问题描述:
我正在使用http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/来制作Tab栏。
我还有3个选项卡,第二个选项卡视图包含一个列表视图,第三个e是设置。
设置包含重新载入按钮。当我点击重新加载按钮时,我想要移至第一个选项卡。
我该怎么做?从一个标签视图移动到另一个按钮单击Android ActionBar
答
制作以下变化:
-
传递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; } }
-
在片段上点击视图寻呼机对象上的按钮呼叫设置选择:
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?
所有这些标签是他们片段或只是看法? –
全部是片段 –