2016-06-27 12 views
1

アプリケーション用に4つのイメージを含むイメージスライダを作成しようとしていますが、次のエラーが発生しています。私は検索しようとしたし、類似のタイトルを発見したが、問題は異なっています。 これはlogcatです: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です:

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); 
} 
} 

これは私の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です。 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 example.prgguru.com.wallit.MainActivity.onCreate(MainActivity.java:13) – Anjali

+2

'Fragment'sをサポートする代わりに、代わりに' AppCompatActivity'を使用する必要があります「活動」の –

答えて

0

あなたActivityActivityなくAppCompatActivityから延びています。しかし、あなたの断片はandroid.support.v4.app.Fragmentからです。サポートライブラリまたは通常のライブラリから、1種類のフラグメントを使用する必要があります。 フラグメントクラスでextends Fragmentandroid.app.Fragmentから変更してください。

+0

拡張機能をActivityからAppCompatActivityに変更しました。ありがとうございました! –

関連する問題