1

My real device is API(19), i read some post and change minkSdkVersion from 21

minSdkVersion 21

to 18

minSdkVersion 18 

sync project and run but my project stop running. Anyone know why? (It's say Sorry, Music has stopped)

Edit: Here is what Logcat say, please don't tell me that some code only work in SdkVerson 21 :(

05-18 16:24:43.031 11745-11745/com.bkav.demo.music E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.bkav.demo.music, PID: 11745
android.view.InflateException: Binary XML file line #0: Error inflating class android.widget.ImageView
    at android.view.LayoutInflater.createView(LayoutInflater.java:620)
    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
    at com.bkav.demo.music.AdapterBaiHat.getView(AdapterBaiHat.java:61)
    at android.widget.AbsListView.obtainView(AbsListView.java:2338)
    at android.widget.ListView.measureHeightOfChildren(ListView.java:1273)
    at android.widget.ListView.onMeasure(ListView.java:1182)
    at android.view.View.measure(View.java:16851)
    at android.widget.RelativeLayout.measureChild(RelativeLayout.java:794)
    at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:544)
    at android.view.View.measure(View.java:16851)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5374)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1621)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:742)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:607)
    at android.view.View.measure(View.java:16851)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5374)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:340)
    at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
    at android.view.View.measure(View.java:16851)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5374)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1621)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:742)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:607)
    at android.view.View.measure(View.java:16851)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5374)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:340)
    at android.view.View.measure(View.java:16851)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5374)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1621)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:742)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:607)
    at android.view.View.measure(View.java:16851)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5374)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:340)
    at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2368)
    at android.view.View.measure(View.java:16851)
    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2246)
    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1312)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1509)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1189)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6223)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:788)
    at android.view.Choreographer.doCallbacks(Choreographer.java:591)
    at android.view.Choreographer.doFrame(Choreographer.java:560)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:774)
    at android.os.Handler.handleCallback(Handler.java:808)
    at android.os.Handler.dispatchMessage(Handler.java:103)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:5345)
    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:828)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644)
    at dalvik.system.NativeStart.m

Edit 3: Layout_background_detail

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_marginTop="80dp"
        android:layout_marginBottom="90dp"
        android:layout_height="match_parent"
        >

        <ImageView
            android:id="@+id/hinhnen"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/anhth"
            />

</FrameLayout>

AdapterBaiHat:

    package com.bkav.demo.music;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.PopupMenu;
import android.widget.TextView;
import android.widget.Toast;

import java.util.ArrayList;


public class AdapterBaiHat extends BaseAdapter {

    private Context context;
    private int resource;
    private ArrayList<ThongTinBaiHat> arrayList;


    public AdapterBaiHat(Context context, int resource, ArrayList<ThongTinBaiHat> arrayList) {
        this.context = context;
        this.resource = resource;
        this.arrayList = arrayList;
    }

    private class ViewHolder{
        private TextView mSoThuTu;
        private TextView mTenBaHat;
        //private TextView mTheLoai;
        private TextView mTime;
        private ImageView mOther;

    }

    @Override
    public int getCount() {
        return arrayList.size();
    }

    @Override
    public Object getItem(int i) {
        return null;
    }

    @Override
    public long getItemId(int i) {
        return 0;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        final ViewHolder viewHolder;
        if(view == null){
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            view = inflater.inflate(resource,viewGroup,false);
            viewHolder = new ViewHolder();
            viewHolder.mSoThuTu = view.findViewById(R.id.number);
            viewHolder.mTime = view.findViewById(R.id.time);
            viewHolder.mTenBaHat = view.findViewById(R.id.name_song);
            //viewHolder.mTheLoai  = view.findViewById(R.id.detail);
            viewHolder.mOther = view.findViewById(R.id.other);
            view.setTag(viewHolder);
        }else {
            viewHolder = (ViewHolder) view.getTag();
        }
        final ThongTinBaiHat thongTinBaiHat = arrayList.get(i);

        viewHolder.mTenBaHat.setText(thongTinBaiHat.getTenBaiHat());
        viewHolder.mTime.setText(thongTinBaiHat.getThoigian());
        //viewHolder.mTheLoai.setText(thongTinBaiHat.getTheloai());
        viewHolder.mSoThuTu.setText("" + thongTinBaiHat.getSothutu());
        viewHolder.mOther.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                PopupMenu popupMenu =  new PopupMenu(context,viewHolder.mOther);
                popupMenu.getMenuInflater().inflate(R.menu.popup_menu, popupMenu.getMenu());

                popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                    public boolean onMenuItemClick(MenuItem item) {
                        Toast.makeText(context,"You Clicked : " + item.getTitle(),Toast.LENGTH_SHORT).show();
                        return true;
                    }
                });

                popupMenu.show();
            }
        });

        return view;
    }
}
Zoe
  • 27,060
  • 21
  • 118
  • 148
MCuong
  • 15
  • 5

1 Answers1

1

From Your LogCat, Error Found.

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

U can check back your image file whether it is in Drawable or Drawable-24

If it is in Drawable-24, move it to drawable file.

Can read my ans from Here

Kopi Bryant
  • 1,300
  • 1
  • 15
  • 30