- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 ViewPager 处理我的 Fragment,但出现此错误:
LogCat:
12-19 14:16:25.180: I/mFragment(5866): onCreate() LogicAnalizerActivity
12-19 14:16:25.235: I/mFragment(5866): FragmentAdapter Constructor
12-19 14:16:25.235: I/mFragment(5866): onResume() LogicAnalizerActivity
12-19 14:16:25.310: I/mFragment(5866): Page item 0
12-19 14:16:25.320: I/onCreate()(5866): onCreate LogicAnalizerView
12-19 14:16:25.350: D/AndroidRuntime(5866): Shutting down VM
12-19 14:16:25.355: W/dalvikvm(5866): threadid=1: thread exiting with uncaught exception (group=0x40d77300)
12-19 14:16:25.690: E/AndroidRuntime(5866): FATAL EXCEPTION: main
12-19 14:16:25.690: E/AndroidRuntime(5866): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.ViewGroup.addViewInner(ViewGroup.java:3378)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.ViewGroup.addView(ViewGroup.java:3249)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.ViewGroup.addView(ViewGroup.java:3194)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.ViewGroup.addView(ViewGroup.java:3170)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.support.v4.app.NoSaveStateFrameLayout.wrap(NoSaveStateFrameLayout.java:40)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:874)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1080)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:622)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1416)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:431)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:139)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.support.v4.view.ViewPager.populate(ViewPager.java:804)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1016)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.View.measure(View.java:15172)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4816)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.View.measure(View.java:15172)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4816)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.View.measure(View.java:15172)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.widget.LinearLayout.measureVertical(LinearLayout.java:833)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.View.measure(View.java:15172)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4816)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
12-19 14:16:25.690: E/AndroidRuntime(5866): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2432)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.View.measure(View.java:15172)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1850)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1102)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1275)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4214)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.Choreographer.doCallbacks(Choreographer.java:555)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.Choreographer.doFrame(Choreographer.java:525)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.os.Handler.handleCallback(Handler.java:615)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.os.Handler.dispatchMessage(Handler.java:92)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.os.Looper.loop(Looper.java:137)
12-19 14:16:25.690: E/AndroidRuntime(5866): at android.app.ActivityThread.main(ActivityThread.java:4978)
12-19 14:16:25.690: E/AndroidRuntime(5866): at java.lang.reflect.Method.invokeNative(Native Method)
12-19 14:16:25.690: E/AndroidRuntime(5866): at java.lang.reflect.Method.invoke(Method.java:511)
12-19 14:16:25.690: E/AndroidRuntime(5866): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
12-19 14:16:25.690: E/AndroidRuntime(5866): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
12-19 14:16:25.690: E/AndroidRuntime(5866): at dalvik.system.NativeStart.main(Native Method)
Activity fragment :
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.View;
import android.widget.LinearLayout;
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
public class LogicAnalizerActivity extends SherlockFragmentActivity {
private static final boolean DEBUG = true;
/** Numero de paginas del ViewPager */
private static final int pageCount = 1;
private static ActionBar actionBar;
private static ViewPager mViewPager;
private static MyFragmentAdapter mAdapter;
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
if(DEBUG) Log.i("mFragment","onCreate() LogicAnalizerActivity");
actionBar = getSupportActionBar();
setContentView(R.layout.fragment);
mAdapter = new MyFragmentAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.pagerLogicAnalizer);
mViewPager.setAdapter(mAdapter);
mViewPager.setCurrentItem(0);
mViewPager.setOffscreenPageLimit(1);
}
@Override
protected void onResume() {
if(DEBUG) Log.i("mFragment","onResume() LogicAnalizerActivity");
super.onResume();
}
/**
* Crea el ActionBar desde el XML actionbarlogic que define los iconos en el mismo
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
if(DEBUG) Log.i("onCreateOptionsMenu()", "onCreateOptionsMenu() -> LogicAnalizerView");
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.actionbarlogic, menu);
return true;
}
public static class MyFragmentAdapter extends FragmentPagerAdapter{
public MyFragmentAdapter(FragmentManager fm) {
super(fm);
if(DEBUG) Log.i("mFragment","FragmentAdapter Constructor");
}
@Override
public Fragment getItem(int arg0) {
if(DEBUG) Log.i("mFragment","Page item " + arg0);
switch(arg0){
case 0:
return new LogicAnalizerFragment();
case 1:
return new LogicAnalizerFragment();
}
return new LogicAnalizerFragment();
}
@Override
public int getCount() {
return pageCount;
}
@Override
public void destroyItem(View collection, int position, Object view) {
if(DEBUG) Log.i("mFragment","Destroy item " + position);
((ViewPager) collection).removeView((LinearLayout) view);
}
}
}
逻辑分析器 fragment :太长了,可以看看here
fragment .xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/pagerLogicAnalizer"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
Fragment 正常工作,但是当我尝试将它与 ViewPager 一起使用时出现此错误,我搜索了很多 ViewPager 示例,结果都是一样的。我已经添加:
@Override
public void destroyItem(View collection, int position, Object view) {
if(DEBUG) Log.i("mFragment","Destroy item " + position);
((ViewPager) collection).removeView((LinearLayout) view);
}
尝试解决问题,但问题仍然存在。
最佳答案
第 250 行,
return inflater.inflate(R.layout.logicanalizer, container);
添加假;
return inflater.inflate(R.layout.logicanalizer, container,false);
第三个参数决定是否应该附加到“容器”,文档:
@3rd param attachToRoot Whether the inflated hierarchy should be attached to the root parameter? If false, root is only used to create the correct subclass of LayoutParams for the root view in the XML.
@return The root View of the inflated hierarchy. If root was supplied and attachToRoot is true, this is root; otherwise it is the root of the inflated XML file.
关于android - IllegalStateException - ViewPager 中的 removeView(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13957806/
我有以下代码,一切正常。除了删除 View 不起作用。我的代码有什么问题?删除 View 在动画中不起作用吗? 在我的oncreate上 @Override protected void on
我有一个布局(主要),当我单击一个按钮时,它会显示一个带有 TextView 和编辑文本的 RelativeLayout (newLayout)。但是当我想离开那个 RelativeLayout (点
我有一个带有编辑文本区域的警告对话框。当我第二次调用它时,应用程序崩溃并出现错误: 02-28 23:25:08.958: E/AndroidRuntime(11533): java.lang.Ill
我有一个应用程序,我在其中为列表中的 friend 数量动态添加按钮。我可以添加 1 个 friend 并查看 friend 列表。但是,当我添加第二个 friend 并尝试查看 FriendList
我正在尝试使用 ViewPager 处理我的 Fragment,但出现此错误: LogCat: 12-19 14:16:25.180: I/mFragment(5866): onCreate() Lo
我想在单击 ImageView 时从 listView 中删除特定行。我的 ListView 如下所示: 我希望在单击最后一张图像时删除该行。这是我的适配器: public class UserIte
我正在尝试动态删除 Android 中 LinearLayout 中的一些组件。我实现的逻辑是:如果有人单击我的(侧边栏)Fragment 中的一个按钮,我将启动一个动画,将单击的 Button 向上
我想知道是否有人可以向我解释为什么在展开布局时,如果指定了 ViewGroup,则稍后的 removeView() 什么都不做。即: 在onCreate中: currentView = thi
我有一个 MyLinearLayout 子类扩展了 ViewGroup,它使其中的 View 自动换行。 public class MyLinearLayout extends ViewGroup {
我正在我的主页上发出警报。 addError(title,message){ const alert = this.alertCtrl.create({ 'title': ti
我有以下代码: protected View progressView; protected LayoutParams progressParams; class Task extends Async
我有一个 Activity 可以打开带有 View 寻呼机的 fragment 。当我在选项卡之间切换时,出现此错误:指定的子项已有父项。您必须先对 child 的 parent 调用 removeV
先介绍一点背景: 我在 ScrollView 中有一个布局。首先,当用户在屏幕上滚动时, ScrollView 会滚动。但是,经过一定量的滚动后,我要禁用 ScrollView 上的滚动,将“滚动焦点
我的 Ionic 应用程序运行良好,但我没有对它做任何事情,但突然我收到此错误,我不知道为什么。 "Error: Uncaught (in promise): removeView was not f
伙计,我正在创建一个聊天应用程序。我的短信已成功上传,但这次我尝试将图像上传到我的聊天应用程序到服务器时出现一些错误。 即:java.lang.IllegalStateException: 指定的 c
我想添加一个 textview 和一个 checkbox 到 linearlayout View : for(int i = 0 ; i ... 但是我得到这个错误: java.lan
我在自定义对话框中显示 map 。第一次单击对话框 map 中的 Showmap 按钮时工作正常。但是当我第二次点击它时它崩溃了。我正在 fragment 中创建对话框。下面是我写的代码。 expan
我在 Android 创建动态添加行的表时遇到问题。错误信息是: The specified child already has a parent. You must call removeView(
大家好,首先抱歉我的英语不好(我不是母语人士),我知道这个问题之前已经被问过好几次了。由于解决方案非常个性化,我有点困惑。 问题是:我正在尝试向 LinearLayout 添加多个 View (Tex
当在 recyclerview 中点击一个项目时,我称之为 appbar.removeView(tabs) This视频展示了发生了什么 似乎完全没有动画就把TabLayout去掉,然后加回去,再用动
我是一名优秀的程序员,十分优秀!