我想从Fragment
开始Activity
当我按最后一个按钮,但我得到一个空白的布局,而不是与Activity
关联的布局。如何从片段开始活动?
我叫Fragment
从MainActivity.class
这样的:
FragmentManager mFragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.mainContent,new FragmentMain()).commit();
而且在FragmentMain
类我有一个onClick
方法类似如下:
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), FinalClass.class);
getActivity().startActivity(intent);
}
但结果却是一个空白的布局,没有错误显示在logcat上。我已经在网上搜索,类似的行为上,我发现了一些解决方案,并没有解决我的问题:
我不会对我的项目的任何方法addToBackStack()
因此该方案不不适合我。
getActivity().startActivity(myIntent)
是公认的答案。
他们用来从片段启动活动的方式不会改变我使用的方式。
任何提供的解决方案的工作对我来说。
PS:我已经宣布对Manifest.xml
文件Activity
:
<activity
android:name=".FinalClass"
android:screenOrientation="portrait"
android:label="Final Class"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme.NoActionBar" />
PS2:不要怀疑问,如果你需要更多的代码(我试图简化它把重点放在问题)。
我该怎么做才能避免Activity
给我一个空白的布局,而不是与该Activity
相关联的布局?
提前致谢!
确实有'FInalClass'活动的布局有什么看法? –
只是一个方面的说明,不知道如果做一个片段'getActivity()。startActivity()'是一个很好的做法。我建议使用你的活动将实现的接口,然后从你的片段的接口调用一个方法。然后从您的活动开始您的活动。不要认为它与你的问题有关虽然.. – vkislicins
@BurhanuddinRashid我有以下内容:public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){ final View inflaterFinalClass = inflater.inflate(R.layout.activity_final_class , 空值);返回inflaterFinalClass;' –