-4

In my App , I'm trying to add some ImageView (play2_one and play2_two) and it navigates to another Activity after click in that ImageView. It works normally in NEXUS S(API 25) but not in NOTE 3, NEXUS 5(API 24).

What can be the issue? Please guide:

This is my logcat:

android.view.InflateException: Binary XML file line #71: Error inflating class at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2519) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2578) at android.app.ActivityThread.access$900(ActivityThread.java:170) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1317) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:146) at android.app.ActivityThread.main(ActivityThread.java:5727) 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 #71: Error inflating class at android.view.LayoutInflater.createView(LayoutInflater.java:626) at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) at android.view.LayoutInflater.onCreateView(LayoutInflater.java:675) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:700) at android.view.LayoutInflater.rInflate(LayoutInflater.java:761) at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) at android.view.LayoutInflater.inflate(LayoutInflater.java:498) 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:352) at android.app.Activity.setContentView(Activity.java:2058) at com.example.compassapp.MainActivity.onCreate(MainActivity.java:32) at android.app.Activity.performCreate(Activity.java:5581) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2483) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2578)  at android.app.ActivityThread.access$900(ActivityThread.java:170)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1317)

and this's my xml code :

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@drawable/bitmap">

    <LinearLayout
        android:layout_margin="15dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="3">

        <ImageView
            android:id="@+id/play1_one"
            android:clickable="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:layout_marginBottom="10dp"
            android:layout_weight="1"
            android:src="@drawable/four" />

        <TextView
            android:id="@+id/txt1"
            android:textSize="25sp"
            android:gravity="center"
            android:textColor="#ffffff"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:layout_marginBottom="10dp"
            android:layout_weight="1"
            />

        <ImageView
            android:id="@+id/play1_two"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:layout_gravity="bottom"
            android:layout_marginBottom="10dp"
            android:layout_weight="1"
            android:src="@drawable/three" />
    </LinearLayout>

    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <FrameLayout
            android:id="@+id/qiblaFrameLayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_marginBottom="15dp"
            android:layout_marginTop="15dp"
            android:layout_marginRight="15dp"
            android:layout_marginLeft="15dp">

            <ImageView
                android:id="@+id/frameImage"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:src="@drawable/amer" />

            <ImageView
                android:id="@+id/compassImage"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:src="@drawable/nnn" />

        </FrameLayout>
    </FrameLayout>


</LinearLayout>

and this Mainactivity :

public class MainActivity extends Activity implements SensorEventListener {

    // define the display assembly compass picture
    private ImageView image1;

    // record the compass picture angle turned
    private float currentDegree = 0f;

    // device sensor manager
    private SensorManager mSensorManager;

    private TextView tvHeading1;

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

        // our compass image
        image1 = (ImageView) findViewById(R.id.compassImage);

        // TextView that will tell the user what degree is he heading
        tvHeading1 = (TextView) findViewById(R.id.txt3);
        // initialize your android device sensor capabilities
        mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

        ImageView imageView1 = (ImageView) findViewById(R.id.play1_one);
        imageView1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent1 = new Intent(MainActivity.this, CompassThree.class);
                startActivity(intent1);
            }
        });
        ImageView imageView2 = (ImageView) findViewById(R.id.play1_two);
        imageView2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent1 = new Intent(MainActivity.this, Compasstwo.class);
                startActivity(intent1);
            }
        });

        imageView1.setClickable(true);
        imageView2.setClickable(true);
    }

    @Override
    protected void onResume() {
        super.onResume();

        // for the system's orientation sensor registered listeners
        mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),
                SensorManager.SENSOR_DELAY_GAME);
    }

    @Override
    protected void onPause() {
        super.onPause();

        // to stop the listener and save battery
        mSensorManager.unregisterListener(this);
    }

    @Override
    public void onSensorChanged(SensorEvent event) {


    }

    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // not in use
    }


}
Satan Pandeya
  • 3,747
  • 4
  • 27
  • 53
DesignMan
  • 23
  • 1
  • 8

1 Answers1

0

As you have added so many drawable in your layout, There can be an issue with memory on many devices, As you have said that It works normally in NEXUS S(API 25) but not in NOTE 3, NEXUS 5(API 24).

If there is a problem with Id or something else then it will not work on any device, So most probably it can be a memory issue.

You can increase memory heap size, See this answer.

Also, refer this answer there also describe a similar problem.

Community
  • 1
  • 1
TapanHP
  • 5,969
  • 6
  • 37
  • 66