2015-04-29 3 views
0

Всякий раз, когда я пытаюсь надуть представление в виде фрагмента моего приложения аварии:Не может надуть вид

... 
import android.app.Fragment; 

    public class MainFragment extends Fragment{ 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) { 
      View v = inflater.inflate(R.layout.my_layout, parent, false); 

      return v; 
     } 


     ... 
    } 

Исключения:

04-29 21:27:30.402: E/AndroidRuntime(3727): FATAL EXCEPTION: main 
04-29 21:27:30.402: E/AndroidRuntime(3727): java.lang.RuntimeException: Unable to start activity ComponentInfo{ghang.mimyau.org.bitbucket/ghang.mimyau.org.bitbucket.mainactivity.MainActivity}: android.view.InflateException: Binary XML file line #7: Error inflating class fragment 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2463) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2520) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.app.ActivityThread.access$600(ActivityThread.java:162) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1366) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.os.Handler.dispatchMessage(Handler.java:99) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.os.Looper.loop(Looper.java:158) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.app.ActivityThread.main(ActivityThread.java:5751) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at java.lang.reflect.Method.invoke(Method.java:511) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1083) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:850) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at dalvik.system.NativeStart.main(Native Method) 
04-29 21:27:30.402: E/AndroidRuntime(3727): Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class fragment 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at ghang.mimyau.org.bitbucket.mainactivity.MainFragment.onCreateView(MainFragment.java:24) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.app.Fragment.performCreateView(Fragment.java:1785) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:887) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1059) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.app.BackStackRecord.run(BackStackRecord.java:682) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1437) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.app.Activity.performStart(Activity.java:5174) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2436) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  ... 11 more 
04-29 21:27:30.402: E/AndroidRuntime(3727): Caused by: java.lang.ClassCastException: com.google.android.gms.maps.SupportMapFragment cannot be cast to android.app.Fragment 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.app.Fragment.instantiate(Fragment.java:617) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.app.Fragment.instantiate(Fragment.java:592) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.app.Activity.onCreateView(Activity.java:4770) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680) 
04-29 21:27:30.402: E/AndroidRuntime(3727):  ... 22 more 

Я знаю, что я мог бы решить эту проблему с помощью android.support.v4. app.Fragment вместо android.app.Fragment, но я не хочу. Может ли кто-нибудь объяснить, почему только поддержка библиотеки работает в этом случае и как заставить стандартную библиотеку работать?

РЕДАКЦИИ

+1

Опубликовать всю трассировку стека. Мы не можем сказать из его части. –

+1

Что находится в 'myLayout' строке # 7? –

+1

Не могли бы вы отправить сообщение «MainActivity?» – Emmanuel

ответ

1

StackTrace говорит вам, что проблема здесь:

com.google.android.gms.maps.SupportMapFragment не может быть приведен к android.app.Fragment

Вы пытаетесь отправить экземпляр SupportMapFragment на номер app.Fragment. SupportMapFragment простирается от версии поддержки Fragment; .v4.app.Fragment. Либо замените SupportMapFragment на MapFragment, либо используйте версию поддержки Fragment.

+0

Удивительно, спасибо! –

+0

Нет проблем. Рад помочь. – Emmanuel

0

имена Layout косяк содержат Колпачки, попробуйте изменить имя файла XML в my_layout.xml вместо myLayout.xml и заменить View v = inflater.inflate(R.layout.myLayout, parent, false); для View v = inflater.inflate(R.layout.my_layout, parent, false);

+0

Простите неудачный пример. В фактическом приложении все буквы указаны в нижнем регистре. Позвольте мне отредактировать quewstion. –

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