2014-12-29 3 views
0

Итак, я работаю над приложением для друга, и он продолжает сбой и не может работать на моем устройстве (OnePlus One).«No View Found For ID» - Android Fragment

Я получаю сообщение об ошибке говорит здесь «Нет вид не найдено для ид»: Logcat view for Error

У меня есть два класса; класс NavigationDrawer (который мой по существу мой MainActivity):

Java --- http://pastebin.com/4BiYvxiS | XML --- http://pastebin.com/Fnat83uf

А класс с именем StartingFragment (который я хочу быть основной вид, когда выдвижной ящик закрыт/не активен).

Java --- http://pastebin.com/HNeHzx1h | XML --- http://pastebin.com/2viTEWR8

Вот код, в котором произошла ошибка (от NavDrawer.java):

 /** Swaps fragments in the main content view */ 
     /** Starts an Activity when item is clicked */ 
     private void selectItem(int position) { 
       // Create a new fragment and specify the tea type 
       // to show based on position 
       Fragment fragment = new StartingFragment(); 
       Bundle args = new Bundle(); 
       args.putInt(StartingFragment.TEA_TYPE_POS, position); 
       fragment.setArguments(args); 

       // Insert the fragment by replacing any existing fragment 
       FragmentManager fragManager = getFragmentManager(); 
       fragManager.beginTransaction().replace(R.id.starting_fragment, fragment) 
           .commit(); 

       // Highlight the selected item, update the title, and close the drawer 
       mDrawerList.setItemChecked(position, true); 
       setTitle(navDrawerTitles[position]); 
       navDrawerLayout.closeDrawer(mDrawerList); 

     } 

Я посмотрел всего StackOverflow, и я вижу, как друга получают эта ошибка, но я не совсем уверен, почему я продолжаю получать эту ошибку или как ее исправить.

Я посмотрел на этот вопрос здесь: https://stackoverflow.com/a/8158916 и я вижу, что R.id.starting_fragment должен быть ребенок из R.layout.nav_drawer.

Однако, я не знаю, что настроить в моем коде. Должен ли я удалить кнопки, которые у меня есть, а затем код фрагмента в моем nav_drawer.xml? Такие, как это:

<fragment android:name="com.fv4.app.StartingFragment" 
       android:id="@+id/starting_fragment" 
       android:layout_width="0dp" 
       android:layout_height="match_parent" /> 

Или на самом деле ... что я должен быть замена R.id.starting_fragment с в моем коде?

ответ

0

В xml, который вы указали для своей деятельности, нет ничего с id 'start_fragment', поэтому ничего не нужно заменять, в xml для активности должен быть view/layout/fragmentContainer с id 'start_fragment'. Кроме того, вы немного смущен, Ид в .Привернуть() метод представляет собой вещь, которую вы собираетесь заменить не макет фрагмента

Simple починки

в XML для деятельности создать frameLayout , дать ему Ид 'fragment_replace'

Изменить .Привернуть (R.id.starting_fragment, фрагмент) в .Привернуть (R.id.fragment_replace, фрагмент)

+0

Ahh ОК я вижу сейчас (я думаю). Вот где я был в замешательстве. Хорошо, я скорректировал FrameLayout, но теперь у меня есть эта ошибка (я также скорректировал код в pastebin): http://puu.sh/dOpeZ/5ae8145f63.png – freddiev4

+0

Конечно, Java должен забросить NullPointer так. .. куда я иду отсюда? – freddiev4

+0

заключается в том, что вся трассировка стека, не показывает вам, на какой строке вы получили NPE. –

Смежные вопросы