Ниже приведен отчет о сбоях, который я получил из своего приложения, опубликованного для альфа-тестирования. Может ли кто-нибудь пролить свет на то, как я должен это прочитать? Он говорит 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;
}
Это трассировки стека:
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)
Но у меня нет класса с таким именем, у меня есть пакет com.application.app.entity. Когда я ctrl + h это на eclipse, единственное место, где я мог найти этот текст, был на dump.txt, и я понятия не имею, что это. – Abby
Эта проблема связана только с apk, загруженным с игрового магазина. тот же подписанный apk, установленный с использованием adb, отлично работает. – Abby
Я могу помочь вам лучше, если вы разместите соответствующий раздел кода здесь: com.application.app.entity.e –