2016-06-27 6 views
1

내 응용 프로그램에 4 개의 이미지가 포함 된 이미지 슬라이더를 만들려고하는데 다음과 같은 오류가 발생했습니다. 나는 검색을 시도했지만 비슷한 제목을 발견했지만 문제는 다릅니다.java.lang.RuntimeException : 활동을 시작할 수 없습니다. ComponentInfo : android.view.InflateException

example.prgguru.com.wallit E/AndroidRuntime: FATAL EXCEPTION: main 
Process: example.prgguru.com.wallit, PID: 32048 
java.lang.RuntimeException: Unable to start activity ComponentInfo{example.prgguru.com.wallit/example.prgguru.com.wallit.MainActivity}: android.view.InflateException: Binary XML file line #3: Error inflating class fragment 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2404) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2464) 
at android.app.ActivityThread.access$900(ActivityThread.java:172) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:146) 
at android.app.ActivityThread.main(ActivityThread.java:5653) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: android.view.InflateException: Binary XML file line #3: Error inflating class fragment 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:719) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:470) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:398) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:354) 
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:350) 
at android.app.Activity.setContentView(Activity.java:2059) 
at example.prgguru.com.wallit.MainActivity.onCreate(MainActivity.java:13) 
at android.app.Activity.performCreate(Activity.java:5541) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2368) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2464) 
at android.app.ActivityThread.access$900(ActivityThread.java:172) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:146) 
at android.app.ActivityThread.main(ActivityThread.java:5653) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: android.app.Fragment$InstantiationException: Trying to instantiate a class example.prgguru.com.wallit.MainActivityFragment that is not a Fragment 
at android.app.Fragment.instantiate(Fragment.java:585) 
at android.app.Fragment.instantiate(Fragment.java:561) 
at android.app.Activity.onCreateView(Activity.java:5066) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:695) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:470) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:398) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:354) 
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:350) 
at android.app.Activity.setContentView(Activity.java:2059) 
at example.prgguru.com.wallit.MainActivity.onCreate(MainActivity.java:13) 
at android.app.Activity.performCreate(Activity.java:5541) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2368) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2464) 
at android.app.ActivityThread.access$900(ActivityThread.java:172) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:146) 
at android.app.ActivityThread.main(ActivityThread.java:5653) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.ClassCastException 
at android.app.Fragment.instantiate(Fragment.java:585) 
at android.app.Fragment.instantiate(Fragment.java:561) 
at android.app.Activity.onCreateView(Activity.java:5066) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:695) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:470) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:398) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:354) 
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:350) 
at android.app.Activity.setContentView(Activity.java:2059) 
at example.prgguru.com.wallit.MainActivity.onCreate(MainActivity.java:13) 
at android.app.Activity.performCreate(Activity.java:5541) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2368) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2464) 
at android.app.ActivityThread.access$900(ActivityThread.java:172) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:146) 
at android.app.ActivityThread.main(ActivityThread.java:5653) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107) 
at dalvik.system.NativeStart.main(Native Method) 

내 홈페이지 Activity.java 않습니다 : : 이것은 내 activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 

<fragment 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:name="example.prgguru.com.wallit.MainActivityFragment" 
android:id="@+id/fragment" 
tools:layout="@layout/fragment_main" 
android:layout_width="match_parent" 
android:layout_height="match_parent" /> 

fragment_main입니다

package example.prgguru.com.wallit; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 
} 

이는 로그 캣입니다. xml

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="#32383d"> 
<!-- ViewPager --> 

<!-- Footer --> 
<android.support.v4.view.ViewPager 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/imageviewPager" /> 
<include layout="@layout/footer"/> 

</FrameLayout> 

MainActivityFragment.java

package example.prgguru.com.wallit; 

import android.support.v4.app.Fragment; 
import android.os.Bundle; 
import android.support.v4.view.ViewPager; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.Button; 
import android.widget.ImageView; 

public class MainActivityFragment extends Fragment { 
private ViewPager _mViewPager; 
private ImageViewPagerAdapter _adapter; 
private ImageView _btn1, _btn2, _btn3,_btn4; 
public MainActivityFragment() { 
} 
@Override 
public void onViewCreated(View view, Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 
    setUpView(); 
    setTab(); 
    onCircleButtonClick(); 
} 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    return inflater.inflate(R.layout.fragment_main, container, false); 
} 
private void onCircleButtonClick() { 
    _btn1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      _btn1.setImageResource(R.drawable.fill_circle); 
      _mViewPager.setCurrentItem(0); 
     } 
    }); 
    _btn2.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      _btn2.setImageResource(R.drawable.fill_circle); 
      _mViewPager.setCurrentItem(1); 
     } 
    }); 
    _btn3.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      _btn3.setImageResource(R.drawable.fill_circle); 
      _mViewPager.setCurrentItem(2); 
     } 
    }); 
    _btn4.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      _btn4.setImageResource(R.drawable.fill_circle); 
      _mViewPager.setCurrentItem(3); 
     } 
    }); 
} 
private void setUpView() { 
    _mViewPager = (ViewPager) getView().findViewById(R.id.imageviewPager); 
    _adapter = new ImageViewPagerAdapter(getActivity(), getFragmentManager()); 
    _mViewPager.setAdapter(_adapter); 
    _mViewPager.setCurrentItem(0); 
    initButton(); 
} 
private void setTab() { 
    _mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener()                             { 
     @Override 
     public void onPageScrollStateChanged(int position) { 
     } 
     @Override 
     public void onPageScrolled(int arg0, float arg1, int arg2) { 
     } 
     @Override 
     public void onPageSelected(int position) { 
      // TODO Auto-generated method stub 
      _btn1.setImageResource(R.drawable.holo_circle); 
      _btn2.setImageResource(R.drawable.holo_circle); 
      _btn3.setImageResource(R.drawable.holo_circle); 
      _btn4.setImageResource(R.drawable.holo_circle); 
      btnAction(position); 
     } 
    }); 
} 
private void btnAction(int action) { 
    switch (action) { 
     case 0: 
      _btn1.setImageResource(R.drawable.fill_circle); 
      break; 
     case 1: 
      _btn2.setImageResource(R.drawable.fill_circle); 
      break; 
     case 2: 
      _btn3.setImageResource(R.drawable.fill_circle); 
      break; 
     case 3: 
      _btn4.setImageResource(R.drawable.fill_circle); 
      break; 
    } 
} 
private void initButton() { 
    _btn1 = (ImageView) getView().findViewById(R.id.btn1); 
    _btn1.setImageResource(R.drawable.fill_circle); 
    _btn2 = (ImageView) getView().findViewById(R.id.btn2); 
    _btn3 = (ImageView) getView().findViewById(R.id.btn3); 
    _btn4 = (ImageView) getView().findViewById(R.id.btn4); 
} 
private void setButton(Button btn, String text, int h, int w) { 
    btn.setWidth(w); 
    btn.setHeight(h); 
    btn.setText(text); 
} 
} 
+0

xml에서 맞춤 이미지 뷰 또는 맞춤보기를 사용하고 있습니까? – Anjali

+0

실제 오류 : 원인 : java.lang.ClassCastException at example.prgguru.com.wallit.MainActivity.onCreate (MainActivity.java:13) – Anjali

+2

'Fragment's가 지원되면 대신'AppCompatActivity'를 사용해야합니다 활동의 –

답변

0

귀하의 ActivityActivity하지 AppCompatActivity에서 확장합니다. 그러나 당신의 조각은 android.support.v4.app.Fragment에서 확장됩니다. 지원 라이브러리 또는 일반 라이브러리에서 한 가지 유형의 조각을 사용해야합니다. 조각 클래스에서 extends Fragmentandroid.app.Fragment으로 변경하십시오.

+0

Activity에서 AppCompatActivity로 변경되었습니다. 고맙습니다! –

관련 문제