Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何理解堆栈跟踪以从android崩溃报告中找到崩溃原因_Android_Expandablelistview_Crash Reports - Fatal编程技术网

如何理解堆栈跟踪以从android崩溃报告中找到崩溃原因

如何理解堆栈跟踪以从android崩溃报告中找到崩溃原因,android,expandablelistview,crash-reports,Android,Expandablelistview,Crash Reports,下面是我从为alpha测试发布的应用程序中收到的崩溃报告。谁能告诉我该怎么读这篇文章?上面写着NullPointerException,但在哪里?我有一个可扩展的列表视图,是因为它得到一个空对象绑定到列表项吗? 这是一种似乎正在抛出NPE的方法: @Override public View getChildView(int parent, int child, boolean arg2, View convertView, ViewGroup container) { V

下面是我从为alpha测试发布的应用程序中收到的崩溃报告。谁能告诉我该怎么读这篇文章?上面写着
NullPointerException
,但在哪里?我有一个可扩展的列表视图,是因为它得到一个空对象绑定到列表项吗? 这是一种似乎正在抛出NPE的方法:

@Override
public View getChildView(int parent, int child, boolean arg2,
        View convertView, ViewGroup container) {
    ViewHolder mHolder;
    CategoryEntity childEntity = childlist.get(parent).get(child);
    if (convertView == null) {
        LayoutInflater mInflater = (LayoutInflater) mContext
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = mInflater.inflate(R.layout.category_row, container,
                false);
        mHolder = new ViewHolder();
        mHolder.cateogoryname = (TextView) convertView
                .findViewById(R.id.textView);
        mHolder.imageView = (ImageView) convertView
                .findViewById(R.id.imageView1);
        convertView.setTag(mHolder);
    } else {
        mHolder = (ViewHolder) convertView.getTag();
    }
    if (childEntity != null) {
        String replace = childEntity.getSq_displayName().equals("") ? childEntity
                .getCatname() : childEntity.getSq_displayName().replace(
                "<br>", "");

        Spannable span = new SpannableString(replace);
        switch (childEntity.getSq_cat_id()) {
        case 1:
            mHolder.imageView.setImageResource(R.drawable.ic_food);
            break;
        case 2:
            mHolder.imageView.setImageResource(R.drawable.ic_home);
            break;
        case 3:
            mHolder.imageView.setImageResource(R.drawable.ic_apparels);

            mHolder.cateogoryname.setText(replace);
            break;
        case 4:
            mHolder.imageView.setImageResource(R.drawable.ic_beauty);

            break;
        case 5:
            mHolder.imageView.setImageResource(R.drawable.ic_electronics);
            break;
        case 6:
            mHolder.imageView.setImageResource(R.drawable.ic_mobile);

            break;

        }
        span.setSpan(new ForegroundColorSpan(Color.rgb(0, 161, 220)), 0, 1,
                Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
        span.setSpan(new android.text.style.StyleSpan(
                android.graphics.Typeface.BOLD), 0, 1,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        span.setSpan(new AbsoluteSizeSpan(18, true), 0, 1,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        mHolder.cateogoryname.setGravity(GravityCompat.START);

        mHolder.cateogoryname.setText(span);
    }

    return convertView;
}

这里最相关的一行是
com.application.app.entity.e.getChildView


这是说在这一行有一个
java.lang.NullPointerException
。可能您正在尝试访问一个尚未初始化的视图(即,它为空)。

但是我没有任何具有该名称的类,我有com.application.app.entity包。当我在eclipse上按住ctrl+h键时,我唯一能找到这个文本的地方就是dump.txt,我不知道那是什么。这个问题只存在于从playstore下载的apk上。使用adb安装的相同签名apk运行良好。如果您在此处发布相关代码部分,我可以更好地帮助您:com.application.app.entity.eI更新了问题。这是ExpandableListaDapter子类中的getChildView方法。我想这就是抛出异常的方法,如果我错了,请纠正我。当我调试或直接在设备上运行未签名的apk时,效果非常好。
java.lang.NullPointerException
at com.application.app.entity.e.getChildView(Unknown Source)
at android.widget.ExpandableListConnector.getView(ExpandableListConnector.java:451)
at android.widget.AbsListView.obtainView(AbsListView.java:2271)
at android.widget.ListView.measureHeightOfChildren(ListView.java:1269)
at android.widget.ListView.onMeasure(ListView.java:1181)
at android.view.View.measure(View.java:15323)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4924)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1421)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:698)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:579)
at android.view.View.measure(View.java:15323)
at android.support.v4.widget.DrawerLayout.onMeasure(Unknown Source)
at android.view.View.measure(View.java:15323)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4924)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:315)
at android.view.View.measure(View.java:15323)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4924)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1421)