我有一个片段,我试图添加到视图中.
FragmentManager fragMgr=getSupportFragmentManager();
feed_parser_activity content = (feed_parser_activity)fragMgr
.findFragmentById(R.id.feedContentContainer);
FragmentTransaction xaction=fragMgr.beginTransaction();
if (content == null || content.isRemoving()) {
content=new feed_parser_activity(item.getLink().toString());
xaction
.add(R.id.feedContentContainer, content)
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.addToBackStack(null)
.commit();
Log.e("Abstract", "DONE");
}
Run Code Online (Sandbox Code Playgroud)
执行此代码时,我在调试中收到以下错误.
java.lang.IllegalArgumentException: No view found for id 0x7f080011
for fragment feed_parser_activity{41882f50 #2 id=0x7f080011}
Run Code Online (Sandbox Code Playgroud)
feed_parser_activity是一个片段,在xml中设置为Fragment layout.
我正在使用FragmentActivity来托管片段布局feed_parser_layout.
我上面正确编码吗?
任何人都可以解释"android.R.id.content"的含义?
它是如何使用的?
http://developer.android.com没有任何解释.
public static final int contents
自:API Level 1常数值:16908290(0x01020002)
我的 MainActivity 中有一个带有 viewpager 的 tablayout。
我的PagerAdapter看起来像这样:
public class MainActivityPagerAdapter extends PagerAdapter {
public MainActivityPagerAdapter(FragmentManager fm, int numOfTabs) {
super(fm, numOfTabs);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new StoresFragment();
case 1:
return new OrdersFragment();
default:
return null;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我从另一个这样的活动回来:
Intent intent = new Intent(context, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish(); //finishAffinity();
Run Code Online (Sandbox Code Playgroud)
但是后来我java.lang.IllegalStateException在 MainActivity 的 viewpager 中得到了一个片段。
我阅读了许多相关问题并试图解决这个问题。据说,当人们在 PagerAdapter 之外保留对 Fragments 的引用时,就会发生这种情况。但是我没有这样做,正如您在我的代码中看到的那样。
有谁知道我做错了什么?
编辑 - 堆栈跟踪
FATAL EXCEPTION: …Run Code Online (Sandbox Code Playgroud)