안녕하세요. 아직 해결이 안되서 질문 다시 올립니다..
Fragment를 포함한 Activity(MapActivity)가 있고 Fragment 에서 화면 터치 시, 다른 Activity(TripActivity)로 이동합니다. 참고로 구글맵과는 상관 없습니다.. 그냥 이름만 MapActivity로 정한거라..;;
이동 시에는 startActivityForResult를 사용합니다. 그리고 이동한 Activity(TripActivity)에서 작업 후에 setResult하여 Intent를 넘기고 finish()를 합니다.
finish()하고 나서 오류가 납니다..생각 같아서는 현재 Activity가 종료되고 이전 Activity의 Fragment가 나와야할거 같은데...오류가 뙇. ㅠㅠ
그런데,, API22(5.1버전)에서는 잘 돌아가는데 API19(정확히는 4.4.2)에서는 오류가 발생합니다.
오류내용은 inflating 오류 입니다.(Binary XML file line #12: Error inflating class fragment)
아니 그러면.. 맨처음 화면 뜰때부터 오류가 나야지...왜?!ㅠㅠ
좀더 확인해보니 첫 Activity(MapActivity)의 onDestroy를 타네요..원래 destroy 하고 다시 생성되는건가요...resume이 아니라? ㅠㅠㅠ
당췌 이유를 모르겠습니다. Fragment 임포트 구문도 import android.support.v4.app.Fragment; 로 바꿨는데도 오류가 나네요... 도움좀 부탁드려요..
MapActivity.java(최초화면)
public class MapActivity extends AppCompatActivity implements View.OnClickListener {
//public class MapActivity extends FragmentActivity implements View.OnClickListener {
public static final int REQUEST_REGISTER = 0;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map); //오류 발생 지점
...
activity_map.xml
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/root_map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_marginTop="?attr/actionBarSize"
tools:showIn="@layout/app_bar_main"
tools:context=".MapActivity">
<fragment <-- 얘를 inflate 할수 없대요. 대체 왜?!!!
android:name="unfailing35.test.MapFragment"
android:id="@+id/map_frag"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
MapFragment.java
public class MapFragment extends Fragment implements View.OnTouchListener {
public boolean onTouch(View v, MotionEvent event) {
if( startAct == true ){
//화면이동
Intent intent = new Intent(mapActivity, TripActivity.class);
intent.putExtra("regionCode", regionCode);
intent.putExtra("regionDetailCode", regionDetailCode);
//test
intent.putExtra("bg", mapActivity.isBg);
intent.putExtra("exp", mapActivity.isExp);
//화면이동
//startActivity(intent);
startActivityForResult(intent, MapActivity.REQUEST_REGISTER);
return true;
}
<오류 로그> java.lang.RuntimeException: Unable to start activity ComponentInfo{unfailing35.test/unfailing35.test.MapActivity}: android.view.InflateException: Binary XML file line #12: Error inflating class fragment
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2205)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2255)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3760)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.app.ActivityThread.access$900(ActivityThread.java:142)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1209)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java:136)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5118)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:515)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #12: Error inflating class fragment
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.view.LayoutInflater.parseInclude(LayoutInflater.java:839)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:745)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.view.LayoutInflater.parseInclude(LayoutInflater.java:839)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:745)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:249)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at unfailing35.test.MapActivity.onCreate(MapActivity.java:105)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:5275)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2255)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3760)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.app.ActivityThread.access$900(ActivityThread.java:142)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1209)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
11-26 12:22:16.418 8594-8594/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java:136)
|