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));
}
});
}
}
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);
}
}
首先,将您的按钮ID传递给包含所有选项卡/片段的活动。
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) {
openTab(1);
}
});
btntotab2 = (Button)findViewById(R.id.btntotab2);
btntotab2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openTab(2);
}
});
}
public void openTab(int buttonId){
Intent intent = new Intent(this, TabbedActivity.class);
intent.putExtra("button_id",buttonId);
startActivity(intent);
}
}
现在将该按钮ID传递给fragmentManager或您的视页。
public class TabbedActivity extends AppCompatActivity {
TabLayout tabLayoutaa;
ViewPager2 pager2aa;
FragmentAdapter adapteraa;
int value, buttonId;
@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);
buttonId=getIntent().getIntExtra("button_id",0); // to get the button id
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"));
pager2aa.setCurrentItem(buttonId-1); // to get the current Tab
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));
}
});
}
}
我正试图理解onclick事件,但却被弄糊涂了? 我有一个onclick按钮在一个“tab”内容。当我点击这个onclick按钮时,它会打开标记为“tokyo”的正确选项卡,但它不会继续/添加活动类。 第一个选项卡内容中的“我的”按钮是: 我不明白如何告诉它做相同的onclick事件,但添加活动类到“东京”选项卡从这个新的按钮点击? 以下是完整的代码:
我正在尝试在我的android应用中实现一个选项卡导航,但是我想在每个选项卡中运行一个不同的activity。我一直在读android开发页面,他们坚持使用片段导航活动。根据我的理解,你不能有一个片段类本身,它必须包含在一个activity中。 是否可以为每个选项卡创建一个新的activity,并在onTabSelected()函数中运行该activity,同时从正在运行的activity中的片段
问题内容: 我是Java文盲,并且仍在尝试开发供个人使用的应用程序。我从android-studio的“ Tabbed- Activity”开始,除MainActivity中的一个片段和一个捆绑包外,其他大部分都没有改变。 这是我的代码: 主要活动 SectionsPagerAdapter 最后是 SunFragment ,我希望从MainActivity中获得捆绑的数据: 我已经按照此博客进行操
我需要的TabLayout有一个“x”的标签数量,这可以根据用户的数据,已经在数据库中有所不同 My xml: 我的代码:
我在MainActivity中有六个选项卡,第二个选项卡有一个listview,当用户按下listview项时,它会用操作栏打开一个新的活动,因此,当用户按下第二个活动的back按钮时,我想转到主活动的上一个选项卡(第二个选项卡),但它会加载第一个选项卡(Home选项卡)。 我怎样才能解决这个问题?
我一直在寻找一个解决办法,现在,尽管所有类似的问题和答案,但没有找到任何似乎工作。我想让用户能够通过卡片布局中设置的各种面板进行操作。然而,我希望用来在这些卡片之间切换的按钮在卡片本身,而不是一组单独的按钮,它不会在程序中改变。下面是创建框架的主文件: 编辑:我向MainMenu JPanel的按钮添加了一个自动生成的操作监听器,如下所示: 在主文件(主文件为BattleGraphs_V1)中添加