[英]Move from 1 Activity to specific fragment on button click.
i have an activity where i have 2 buttons and when i click on 1st button it will open first fragment and when i click on 2nd button it will open second fragment.我有一个活动,我有 2 个按钮,当我点击第一个按钮时,它会打开第一个片段,当我点击第二个按钮时,它会打开第二个片段。
public class PagerAdapter extends FragmentPagerAdapter {
public PagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch(position)
{
case 0 :
return new Three();
case 1 :
return new Two() ;
case 2 :
return new One();
default :
break ;
}
return null ;
}
@Override
public int getCount() {
return 3 ;
}
} }
this is fragment page这是片段页面
public class MainActivity extends FragmentActivity {
ViewPager viewpager ;
ImageView a ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewpager = findViewById(R.id.pager);
PagerAdapter padapter = new PagerAdapter(getSupportFragmentManager());
viewpager.setAdapter(padapter);
viewpager.setOffscreenPageLimit(3);
}
} this is main activity on which fragments are placed这是放置片段的主要活动
public class Index extends Activity {
ImageView index ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_index);
index = (ImageView) findViewById(R.id.index1);
index.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Index.this , MainActivity.class);
startActivity(i);
}
});
}
} }
this is index page where i have button when i click on it, opens case 0 fragment automatically i want to open specific fragment on click这是我点击按钮时的索引页面,自动打开案例 0 片段我想在点击时打开特定片段
If you want to open particular index fragment then please pass the key from Index Activity like this如果你想打开特定的索引片段,那么请像这样从索引活动中传递密钥
Intent i = new Intent(Index.this , MainActivity.class);
i.putExtra("index","position"); //Position means 0,1,2
startActivity(i);
And In mainActivity Activity you can get the value which is pass from Index Activity and infliate that Fragment with在 mainActivity Activity 中,您可以获取从 Index Activity 传递的值,并使用
viewpager.setCurrentItem(index);
Like this public class MainActivity extends FragmentActivity {像这个公共类 MainActivity 扩展 FragmentActivity {
ViewPager viewpager ;
ImageView a ;
int index=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(getIntent().hasExtra("index")) {
index = Integer.parseInt(getIntent().getExtras().getString("index"));
}
viewpager = findViewById(R.id.pager);
PagerAdapter padapter = new PagerAdapter(getSupportFragmentManager());
viewpager.setAdapter(padapter);
viewpager.setCurrentItem(index);
} }
You have to pass fragment index from index activity to main.您必须将片段索引从索引活动传递到主。 1) Put index into intent: 1)将索引放入意图:
Intent i = new Intent(Index.this , MainActivity.class);
i.putExtra("fragment_index_key", 1);
startActivity(i);
2) Obtain index at main activity and change pager's page 2) 在主要活动中获取索引并更改寻呼机的页面
....
PagerAdapter padapter = new PagerAdapter(getSupportFragmentManager());
viewpager.setAdapter(padapter);
viewpager.setOffscreenPageLimit(3);
int index = getIntent().getIntExtra("fragment_index_key", 0); // 0 is default value
viewpager.setCurrentItem(index);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.