Android 如何为不同的OnClick方法放置多个viewPager.setCurrentItem(位置)?
假设活动A有5个按钮。每个按钮将带您进入活动B,这是一个带有5个选项卡的选项卡式活动。当我单击button1时,我希望它将您带到tab1、button2=tab2、button3=tab3等等。我使用的是setCurrentItem,但它仅适用于第一个和最后一个按钮。中间的其余部分将带您进入表1。 我需要什么代码,这样按钮2将带我到选项卡2。我是否需要和if-else声明?非常感谢您的帮助 ActivityA.javaAndroid 如何为不同的OnClick方法放置多个viewPager.setCurrentItem(位置)?,android,android-viewpager,Android,Android Viewpager,假设活动A有5个按钮。每个按钮将带您进入活动B,这是一个带有5个选项卡的选项卡式活动。当我单击button1时,我希望它将您带到tab1、button2=tab2、button3=tab3等等。我使用的是setCurrentItem,但它仅适用于第一个和最后一个按钮。中间的其余部分将带您进入表1。 我需要什么代码,这样按钮2将带我到选项卡2。我是否需要和if-else声明?非常感谢您的帮助 ActivityA.java public void Button1(View view) {
public void Button1(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("Tab1", 0); //2 or whatever you want
startActivity(intent);
}
public void Button2(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("Tab2", 1); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Button3(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("Tab3", 2); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Button4(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("Tab4", 3); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Button5(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("Tab5", 4); //2 or whatever you want
startActivityForResult(intent, 0);
}
ActivityB.java
final ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
final int position1 = getIntent().getExtras().getInt("Tab1");
final int position3 = getIntent().getExtras().getInt("Tab3");
final int position2 = getIntent().getExtras().getInt("Tab2");
final int position4 = getIntent().getExtras().getInt("Tab4");
final int position5 = getIntent().getExtras().getInt("Tab5");
PagerAdapter adapter = new PagerAdapter
(getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
{
viewPager.setCurrentItem(position1);
}
{
viewPager.setCurrentItem(position3);
}
{
viewPager.setCurrentItem(position2);
}
{
viewPager.setCurrentItem(position4);
}
{
viewPager.setCurrentItem(position5);
}
在意图中,您将值放在不同的键中。改为使用相同的键:
活动1:
public void Button1(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("position", 0); //2 or whatever you want
startActivity(intent);
}
public void Button2(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("position", 1); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Button3(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("position", 2); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Button4(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("position", 3); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Button5(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("position", 4); //2 or whatever you want
startActivityForResult(intent, 0);
}
活动2:
final ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
PagerAdapter adapter = new PagerAdapter
(getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(getIntent().getExtras().getInt("position",0));
在意图中,您将值放在不同的键中。改为使用相同的键:
活动1:
public void Button1(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("position", 0); //2 or whatever you want
startActivity(intent);
}
public void Button2(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("position", 1); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Button3(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("position", 2); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Button4(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("position", 3); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Button5(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("position", 4); //2 or whatever you want
startActivityForResult(intent, 0);
}
活动2:
final ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
PagerAdapter adapter = new PagerAdapter
(getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(getIntent().getExtras().getInt("position",0));
请不要使用startActivityForResult您只能使用一个键传递选项卡索引
public void Button1(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabIndex", 0);
startActivity(intent);
}
public void Button2(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabIndex", 1);
startActivity(intent);
}
public void Button3(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabIndex", 2);
startActivity(intent);
}
public void Button4(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabIndex", 3);
startActivity(intent);
}
在活动B中获取
final int position = getIntent().getExtras().getInt("tabIndex");
PagerAdapter adapter = new PagerAdapter
(getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(position);
请不要使用startActivityForResult您只能使用一个键传递选项卡索引
public void Button1(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabIndex", 0);
startActivity(intent);
}
public void Button2(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabIndex", 1);
startActivity(intent);
}
public void Button3(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabIndex", 2);
startActivity(intent);
}
public void Button4(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabIndex", 3);
startActivity(intent);
}
在活动B中获取
final int position = getIntent().getExtras().getInt("tabIndex");
PagerAdapter adapter = new PagerAdapter
(getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(position);
试试这个
public void Button1(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabPosition", 0); //2 or whatever you want
startActivity(intent);
}
public void Button2(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabPosition", 1); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Button3(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabPosition", 2); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Button4(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabPosition", 3); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Button5(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabPosition", 4); //2 or whatever you want
startActivityForResult(intent, 0);
}
然后在你的视图寻呼机类
final int currentPosition = getIntent().getExtras().getInt("tabPosition");
这样设置您的视图
PagerAdapter adapter = new PagerAdapter
(getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(currentPosition);
试试这个
public void Button1(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabPosition", 0); //2 or whatever you want
startActivity(intent);
}
public void Button2(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabPosition", 1); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Button3(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabPosition", 2); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Button4(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabPosition", 3); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Button5(View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("tabPosition", 4); //2 or whatever you want
startActivityForResult(intent, 0);
}
然后在你的视图寻呼机类
final int currentPosition = getIntent().getExtras().getInt("tabPosition");
这样设置您的视图
PagerAdapter adapter = new PagerAdapter
(getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(currentPosition);
然后在secondactivity中,您只需要获得一个值。像这样:
final ViewPager ViewPager=(ViewPager)findViewById(R.id.pager)
希望这对你有帮助
然后在secondactivity中,您只需要获得一个值。像这样:
final ViewPager ViewPager=(ViewPager)findViewById(R.id.pager)
希望这将对您有所帮助。不要在每个按钮视图中使用不同的键值。请使用单键并在位置变量中获取值,只需在单个整数变量中获取值并使用该变量设置currentIten e、 g。 活动A:
public void PcHealth (View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("TabPosition", 0); //2 or whatever you want
startActivity(intent);
}
public void Wifi (View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("TabPosition", 1); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Misc (View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("TabPosition", 2); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void HowTo (View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("TabPosition", 3); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Shortcut (View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("TabPosition", 4); //2 or whatever you want
startActivityForResult(intent, 0);
}
ActivityB.java:
final ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
final int position = getIntent().getExtras().getInt("TabPosition");
PagerAdapter adapter = new PagerAdapter
(getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(poisition);
不要在每个按钮视图中使用不同的键值,而是使用单个键并在位置变量中获取值,只需在单个整数变量中获取值并使用该变量设置currentIten e、 g。 活动A:
public void PcHealth (View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("TabPosition", 0); //2 or whatever you want
startActivity(intent);
}
public void Wifi (View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("TabPosition", 1); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Misc (View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("TabPosition", 2); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void HowTo (View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("TabPosition", 3); //2 or whatever you want
startActivityForResult(intent, 0);
}
public void Shortcut (View view) {
Intent intent = new Intent(view.getContext(), TabbedActivity.class);
intent.putExtra("TabPosition", 4); //2 or whatever you want
startActivityForResult(intent, 0);
}
ActivityB.java:
final ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
final int position = getIntent().getExtras().getInt("TabPosition");
PagerAdapter adapter = new PagerAdapter
(getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(poisition);
布罗奥,德里隆·布莱克库里,上帝保佑你。它工作得非常出色。我被困在这上面有一段时间了。我认为这需要一次痛击。干杯布罗奥,德里隆·布莱克库里,上帝保佑你。它工作得非常出色。我被困在这上面有一段时间了。我认为这需要一次痛击。干杯