Intereting Posts
Android: SwipeListView – не отвечает на салфетки, но работает над кликом. Popen on android NDK Загрузить файл в Retrofit 2 Почему LayoutInflater игнорирует параметры макета layout_width и layout_height, которые я указал? Как улучшить измерение расстояния по Bluetooth с помощью RSSI? Android, самый быстрый способ рисовать растровое изображение на холст Как я могу просматривать задачи Gradle для Android из Android Studio? Как я могу получить информацию о задержке в классе AudioTrack от Android? Исключение Android в dalvikvm Самые популярные размеры экрана / разрешения на телефонах Android Как сделать несколько видов одной и той же шириной? Иногда выполняются операции с массивом «Операция недействительна после предыдущей операции» WebViewClient.onPageStarted () вызывается дважды при указании несуществующего URL через WebView.loadURL () Как добавить Horizontal Recyclerview в качестве заголовка для Vertical Recyclerview? NullPointerException в com.google.android.youtube.player.YouTubePlayerSupportFragment.onStart (Неизвестный источник)

ViewPager со списком ListView. У указанного дочернего элемента уже есть родительский

Поэтому я начну, сказав, что видел несколько других людей с такой же ошибкой. Тем не менее, я нахожусь на том этапе, где я пробовал все десять различных решений, и я все еще получаю точные следы стека и ANR. Я использую стандартный шаблон Tabs + Swipe и не изменял ни одной вещи на нем, за исключением установки первой страницы для возврата фрагмента ListView, который я покажу ниже.

Ниже приведен код моего фрагмента. CacheFrament – это просто суперкласс, который расширяет android.support.v4.app.Fragment . В этом случае я попробовал как вернуть только listview, так и его родительский, и безрезультатно.

 public class RoutesFragment extends CacheFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.list_view_layout, container); listView.setAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, new String[]{"No Routes Available"})); return view; } } 

Это макет, который я использую для фрагмента, изначально у меня был ListView в качестве родителя, который также не работал

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/main_list_view"/> </LinearLayout> 

Наконец, это трассировка стека, которую я продолжаю получать. Обратите внимание, что это та же самая ошибка, которую я получил каждый раз.

 07-28 11:54:43.747 15074-15074/? E/AndroidRuntime: FATAL EXCEPTION: main java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. at android.view.ViewGroup.addViewInner(ViewGroup.java:3387) at android.view.ViewGroup.addView(ViewGroup.java:3258) at android.view.ViewGroup.addView(ViewGroup.java:3203) at android.view.ViewGroup.addView(ViewGroup.java:3179) at android.support.v4.app.NoSaveStateFrameLayout.wrap(NoSaveStateFrameLayout.java:40) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:915) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444) at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:461) at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141) at android.support.v4.view.ViewPager.populate(ViewPager.java:1064) at android.support.v4.view.ViewPager.populate(ViewPager.java:911) at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1432) at android.view.View.measure(View.java:15364) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4824) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at android.view.View.measure(View.java:15364) at android.widget.LinearLayout.measureVertical(LinearLayout.java:833) at android.widget.LinearLayout.onMeasure(LinearLayout.java:574) at android.view.View.measure(View.java:15364) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4824) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2359) at android.view.View.measure(View.java:15364) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1974) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1217) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1390) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1110) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4472) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725) at android.view.Choreographer.doCallbacks(Choreographer.java:555) at android.view.Choreographer.doFrame(Choreographer.java:525) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711) at android.os.Handler.handleCallback(Handler.java:615) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4918) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771) at dalvik.system.NativeStart.main(Native Method) 

Любая помощь приветствуется. Эта ошибка в основном затормаживает все.

     View view = inflater.inflate(R.layout.list_view_layout, null); 

    Вы должны использовать пустой контейнер при раздувании представления, иначе контейнер будет родителем вашего завышенного представления.