![](/img/trans.png)
[英]Acivity1 Fragment2 -> Activity2 (after button click) -> Activity1 Fragment2 navigate from activity to specific fragment
[英]Move from 1 Activity to specific fragment on button click.
我有一個活動,我有 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 ;
}
}
這是片段頁面
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);
}
這是放置片段的主要活動
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);
}
});
}
}
這是我點擊按鈕時的索引頁面,自動打開案例 0 片段我想在點擊時打開特定片段
如果你想打開特定的索引片段,那么請像這樣從索引活動中傳遞密鑰
Intent i = new Intent(Index.this , MainActivity.class);
i.putExtra("index","position"); //Position means 0,1,2
startActivity(i);
在 mainActivity Activity 中,您可以獲取從 Index Activity 傳遞的值,並使用
viewpager.setCurrentItem(index);
像這個公共類 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);
}
您必須將片段索引從索引活動傳遞到主。 1)將索引放入意圖:
Intent i = new Intent(Index.this , MainActivity.class);
i.putExtra("fragment_index_key", 1);
startActivity(i);
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.