每当我打开我的应用程序时,它打开第一个片段,因为它需要..我要问的是..如果用户点击第二个项目......第二个片段将出现,我有文本视图名为“第二个”..现在单击该文本视图后,它将重定向到下一个活动..该活动有按钮,所以当我点击该按钮时,应该出现带有文本视图“second”的片段..这就是我想要的...希望你得到...
答案 0 :(得分:2)
Fragment
位于Activity
内,您可以在此片段之间切换
getFragmentManager().beginTransaction()
.replace(R.id.content_frame,new YourFragment(),"fragment_tag")
.addToBackStack(null)
.commit();
如果你想从其他活动转到特定的Fragment
(A是第一个活动并且有一个像B和C这样的片段是另一个活动),你应该将Bundle
传递给你的Activity
}
//In C
Intent mIntent = new Intent(this, A.class);
Bundle extras = mIntent.getExtras();
extras.putString("Go_To_Fragment", "B");
现在获取A
中的包并检查它是否等于B然后替换B
另一种方法是向backstack添加片段然后你可以通过按回按钮去(仅)前一个Fragment
,例如,如果你按C
中的后退按钮,你将回到{{ 1}}(假设您从B
)
C
<强> EDIT1:强>
我认为你应该使用第二种方式。将所有片段存储在堆栈中,然后最后一个片段(如B
)将存储在堆栈顶部。现在您可以获得最后一个片段
B
或
getSupportFragmentManager().popBackStack();
这将为您提供FragmentManager manager = getSupportFragmentManager();
int count = manager.getBackStackEntryCount();
if(count>0){
Fragment mfragment = manager.getBackStackEntryAt(count-1);
FragmentTransaction ft = fragmentManager.beginTransaction();
ft.replace(R.id.content_frame, mFragment);
ft.commit();
}