안녕하세요.
Fragment를 포함한 Activity(MapActivity)가 있고 Fragment 에서 클릭 시, 다른 Activity(TripActivity)로 이동합니다. 참고로 구글맵과는 상관 없습니다.. 그냥 이름만 MapActivity로 정한거라..;;
이동 시에는 startActivityForResult를 사용합니다. 그리고 이동한 Activity에서 작업 후에 finish()를 하여 이전 화면으로 Intent를 넘깁니다.
근데...API22(5.1버전)에서는 잘 돌아가는데 API19(정확히는 4.4.2)에서는 오류가 발생합니다.
당췌 이유를 모르겠습니다. 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
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)
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)