【发布时间】:2021-12-14 08:21:09
【问题描述】:
这就是问题所在。我在一个活动中有 7 个按钮,在不同的活动中有 7 个选项卡/片段。 7 个标签/片段是可滑动的。我想让按钮能够打开它们各自的选项卡。例如,单击按钮 1 将重定向到选项卡/片段 1,单击按钮 2 将打开选项卡/片段 2,等等。那么,如何使按钮按预期工作?任何答案或想法将不胜感激。提前谢谢你。
这是我的代码:
TabbedActivity.java
public class TabbedActivity extends AppCompatActivity {
TabLayout tabLayoutaa;
ViewPager2 pager2aa;
FragmentAdapter adapteraa;
int value;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tabbed);
tabLayoutaa = findViewById(R.id.tab_layoutaa);
pager2aa = findViewById(R.id.view_pager2aa);
FragmentManager fm = getSupportFragmentManager();
adapteraa = new FragmentAdapter(fm, getLifecycle());
pager2aa.setAdapter(adapteraa);
tabLayoutaa.setTabMode(tabLayoutaa.MODE_SCROLLABLE);
tabLayoutaa.addTab(tabLayoutaa.newTab().setText("Tab 1"));
tabLayoutaa.addTab(tabLayoutaa.newTab().setText("Tab 2"));
tabLayoutaa.addTab(tabLayoutaa.newTab().setText("Tab 3"));
tabLayoutaa.addTab(tabLayoutaa.newTab().setText("Tab 4"));
tabLayoutaa.addTab(tabLayoutaa.newTab().setText("Tab 5"));
tabLayoutaa.addTab(tabLayoutaa.newTab().setText("Tab 6"));
tabLayoutaa.addTab(tabLayoutaa.newTab().setText("Tab 7"));
tabLayoutaa.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
pager2aa.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
pager2ah.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageSelected(int position) {
tabLayoutaa.selectTab(tabLayoutaa.getTabAt(position));
}
});
}
}
ButtonList.java
public class ButtonList extends AppCompatActivity {
private Button btntotab1;
private Button btntotab2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_buttonlist);
btntotab1 = (Button)findViewById(R.id.btntotab1);
btntotab1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openTab1();
}
});
}
public void openTab1(){
Intent intent = new Intent(this, TabbedActivity.class);
startActivity(intent);
}
}
【问题讨论】:
标签: java android button fragment tabview