gpt4 book ai didi

java - 如何使用按钮从 fragment 切换选项卡?

转载 作者:行者123 更新时间:2023-12-02 12:09:39 25 4
gpt4 key购买 nike

我有一个选项卡式Activity,其中包含多个选项卡Fragments。 (如艺术家、播放列表、专辑)。我想向我的主页 Fragment 添加一个按钮,单击后将导航到其他选项卡。例如:我单击播放列表,需要 3 个选项卡才能到达播放列表。我不知道该怎么做。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(
R.layout.fragment_home, container, false);
playlists = (Button) rootView.findViewById(R.id.playlists);
playlists.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//getActivity().getTabHost().setCurrentTabByTag("TAB2");
//viewPager.setCurrentItem(2);


}
});


return rootView;
}

enter image description here

最佳答案

在HomeFragment中声明一个接口(interface)并声明监听变量

private HomeFragmentActionListener mListener;

public interface HomeFragmentActionListener {
void onButtonClick(int pos);
}

在 HomeFragment 类中设置此监听器变量。

public void setListener(
HomeFragmentActionListener listener) {
mListener = listener;
}

并点击 onButton 通知监听者

playlists.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//getActivity().getTabHost().setCurrentTabByTag("TAB2");
//viewPager.setCurrentItem(2);
mListener.onButtonClick(2);
}
});

在MainFragment下实现该接口(interface)

public class MainFragment extends Fragment {

private class HomeFragmentListener implements HomeFragment.HomeFragmentActionListener {
public void onButtonClick(int pos) {
//Change the tabs.
}
}
and set the listener in setupviewpager
private void setupViewPager(ViewPager viewPager) {
Adapter adapter = new Adapter(getChildFragmentManager());
HomeFragment homeFragment = new HomeFragment();
homeFragment.setListener( new HomeFragmentListener());
adapter.addFragment(homeFragment, this.getString(R.string.Homecap));
..

关于java - 如何使用按钮从 fragment 切换选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46632343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com