-1

I'm new to Android. My app is closing when running on real devices, but it is working fine on my simulator. This is error code that I'm getting on debugger. I'm trying to add an image slider with the help of pageViewer. The App was working fine before I added the slider.

E/AndroidRuntime: FATAL EXCEPTION: main
              Process: com.example.windows81.travelspoc, PID: 17409
              android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class ImageView
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:545)
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
                  at com.example.windows81.travelspoc.ViewPagerAdapter.instantiateItem(ViewPagerAdapter.java:39)
                  at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:1002)
                  at android.support.v4.view.ViewPager.populate(ViewPager.java:1150)
                  at android.support.v4.view.ViewPager.populate(ViewPager.java:1084)
                  at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1614)
                  at android.view.View.measure(View.java:19141)
                  at android.support.constraint.ConstraintLayout.internalMeasureChildren(ConstraintLayout.java:934)
                  at android.support.constraint.ConstraintLayout.onMeasure(ConstraintLayout.java:973)
                  at android.view.View.measure(View.java:19141)
                  at android.support.v4.widget.NestedScrollView.measureChildWithMargins(NestedScrollView.java:1446)
                  at android.widget.FrameLayout.onMeasure(FrameLayout.java:223)
                  at android.support.v4.widget.NestedScrollView.onMeasure(NestedScrollView.java:512)
                  at android.view.View.measure(View.java:19141)
                  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6245)
                  at android.widget.FrameLayout.onMeasure(FrameLayout.java:223)
                  at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
                  at android.view.View.measure(View.java:19141)
                  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6245)
                  at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:400)
                  at android.view.View.measure(View.java:19141)
                  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6245)
                  at android.widget.FrameLayout.onMeasure(FrameLayout.java:223)
                  at android.view.View.measure(View.java:19141)
                  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6245)
                  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1723)
                  at android.widget.LinearLayout.measureVertical(LinearLayout.java:788)
                  at android.widget.LinearLayout.onMeasure(LinearLayout.java:648)
                  at android.view.View.measure(View.java:19141)
                  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6245)
                  at android.widget.FrameLayout.onMeasure(FrameLayout.java:223)
                  at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2790)
                  at android.view.View.measure(View.java:19141)
                  at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2476)
                  at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1440)
                  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1694)
                  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1321)
                  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6748)
                  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
                  at android.view.Choreographer.doCallbacks(Choreographer.java:713)
                  at android.view.Choreographer.doFrame(Choreographer.java:648)
                  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
                  at android.os.Handler.handleCallback(Handler.java:815)
                  at android.os.Handler.dispatchMessage(Handler.java:104)
                  at android.os.Looper.loop(Looper.java:207)
                  at android.app.ActivityThread.main(ActivityThread.java:5790)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1015)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:876)
               Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class ImageView
                  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:827)
                  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:749)
                  at android.view.LayoutInflater.rInflate(LayoutInflater.java:880)
                  at 
android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:843)
                at andro
I/Process: Sending signal. PID: 17409 SIG: 9
Disconnected from the target VM, address: 'localhost:8600', transport: 
'socket'

HomeActivity.java

package com.example.windows81.travelspoc;

import android.content.Intent;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class HomeActivity extends AppCompatActivity {

ViewPager viewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);

    viewPager = (ViewPager) findViewById(R.id.viewPager);
    ViewPagerAdapter viewPagerAdapter = new ViewPagerAdapter(this);
    viewPager.setAdapter(viewPagerAdapter);
}
public void exploreActivity(View view){
    Intent intent = new Intent(this,ExploreActivity.class);
    startActivity(intent);
}

public void packagesActivity(View view){
    Intent intent = new Intent(this,PackagesActivity.class);
    startActivity(intent);
}

public void dealsActivity(View view){
    Intent intent = new Intent(this,DealsActivity.class);
    startActivity(intent);
}
}

ViewPagerAdapter.java

package com.example.windows81.travelspoc;

import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

/**
* Created by Windows 8.1 on 11/6/2017.
*/

public class ViewPagerAdapter extends PagerAdapter{

private Context context;
private LayoutInflater layoutInflater;
private Integer [] images = {R.drawable.slide1,R.drawable.slide2};

public ViewPagerAdapter(Context context) {
    this.context = context;
}

@Override
public int getCount() {
    return images.length;
}

@Override
public boolean isViewFromObject(View view, Object object) {
    return view == object;
}

@Override
public Object instantiateItem(ViewGroup container, int position) {

    layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = layoutInflater.inflate(R.layout.custom_layout,null);
    ImageView imageView = (ImageView) view.findViewById(R.id.slider);
    imageView.setImageResource(images[position]);
    ViewPager vp = (ViewPager) container;
    vp.addView(view, 0);
    return view;
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {

    ViewPager vp = (ViewPager) container;
    View view = (View) object;
    vp.removeView(view);

}
}
halfer
  • 19,824
  • 17
  • 99
  • 186
  • 1
    post your custom_layout xml code. – Munir Nov 06 '17 at 12:26
  • Is your (R.id.slider) also an ImageView? You must be inflating wrong. – Sanjog Shrestha Nov 06 '17 at 12:26
  • there is some problem in your `R.layout.custom_layout` – Vladyslav Matviienko Nov 06 '17 at 12:27
  • 1
    `Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class ImageView` – greenapps Nov 06 '17 at 12:27
  • Please read [Under what circumstances may I add “urgent” or other similar phrases to my question, in order to obtain faster answers?](//meta.stackoverflow.com/q/326569) - the summary is that this is not an ideal way to address volunteers, and is probably counterproductive to obtaining answers. Please refrain from adding this to your questions. – halfer Nov 06 '17 at 22:20

2 Answers2

0

Stack trace may be misleading. There might be a problem with your drawable. Try a different @drawable and see if it works. Or other one may be your image file size are little big

Your error is:

android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class ImageView

Check this and search by this.

halfer
  • 19,824
  • 17
  • 99
  • 186
Gowtham Sooryaraj
  • 3,639
  • 3
  • 13
  • 22
0

I got the answer for that. The issue was, my source of imageView for custom layout was mipmap, I have changed that to drawable and it is working now. Thanks guys for your contribution.