마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

FragementActivity 문제입니다

0 추천
기본 MainActivity 소스에 extends Activity 부분을 FragmentActivity로만 바꾸면 에러가 납니다. ㅠㅠ

도통 이유를 모르겠네여.. ㅠㅠ

로그캣 내용입니다

 

 

07-17 16:13:18.256: E/Trace(4497): error opening trace file: No such file or directory (2)
07-17 16:13:18.256: D/ActivityThread(4497): setTargetHeapUtilization:0.25
07-17 16:13:18.256: D/ActivityThread(4497): setTargetHeapIdealFree:8388608
07-17 16:13:18.256: D/ActivityThread(4497): setTargetHeapConcurrentStart:2097152
07-17 16:13:18.276: V/ActivityThread(4497): Class path: /data/app/com.test-1.apk, JNI path: /data/data/com.test/lib
07-17 16:13:18.337: W/dalvikvm(4497): threadid=1: thread exiting with uncaught exception (group=0x41834438)
07-17 16:13:18.347: E/AndroidRuntime(4497): FATAL EXCEPTION: main
07-17 16:13:18.347: E/AndroidRuntime(4497): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test/com.test.MainActivity}: android.view.InflateException: Binary XML file line #13: Error inflating class fragment
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2081)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2106)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.app.ActivityThread.access$600(ActivityThread.java:138)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1204)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.os.Handler.dispatchMessage(Handler.java:99)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.os.Looper.loop(Looper.java:137)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.app.ActivityThread.main(ActivityThread.java:4929)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at java.lang.reflect.Method.invokeNative(Native Method)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at java.lang.reflect.Method.invoke(Method.java:511)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at dalvik.system.NativeStart.main(Native Method)
07-17 16:13:18.347: E/AndroidRuntime(4497): Caused by: android.view.InflateException: Binary XML file line #13: Error inflating class fragment
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:409)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.app.Activity.setContentView(Activity.java:2087)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at com.test.MainActivity.onCreate(MainActivity.java:32)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.app.Activity.performCreate(Activity.java:5238)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1082)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2045)
07-17 16:13:18.347: E/AndroidRuntime(4497):  ... 11 more
07-17 16:13:18.347: E/AndroidRuntime(4497): Caused by: java.lang.ClassCastException: com.google.android.gms.maps.MapFragment cannot be cast to android.support.v4.app.Fragment
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.support.v4.app.Fragment.instantiate(Fragment.java:394)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.support.v4.app.Fragment.instantiate(Fragment.java:369)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:272)
07-17 16:13:18.347: E/AndroidRuntime(4497):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
07-17 16:13:18.347: E/AndroidRuntime(4497):  ... 21 more
tttt12555 (330 포인트) 님이 2013년 7월 17일 질문

2개의 답변

0 추천
lib 파일에 jar파일 있나 확인해보세요

아마 그냥 이클립스 빌드패스에 안드로이드 sdk경로쪽에있는 jar파일만 add시켜서 컴파일할때 에러나는거 같네요
bangbang (8,820 포인트) 님이 2013년 7월 17일 답변
정상적으로 들어가있습니다 ㅠㅠ
0 추천

com.google.android.gms.maps.MapFragment는 android.support.v4.app.Fragment로부터 상속받아 만들어진 놈이 아닙니다.

SupportMapFragment 를 사용하세요.

b22n (22,940 포인트) 님이 2013년 7월 17일 답변
package com.androidhuman.example.mapsv2support;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;

import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;

public class MainActivity extends FragmentActivity {
   
    GoogleMap mGoogleMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        mGoogleMap = ((SupportMapFragment)getSupportFragmentManager()
                        .findFragmentById(R.id.map)).getMap();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

}
...