Android 마켓에 Android 마켓이 있습니다. 그리고 어떤 사용자가 NullPointerException을 얻는다 고 주장하는 충돌 보고서가 계속 나오고 있습니다.때때로 (보기)에서 null이 표시됩니다 .findViewByID
이 문제를 일으키는 것으로 보이는 코드를 찾았습니다.
ArrayAdapters getView 메소드에 있습니다.
if (v == null) {
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.subcatategory_row, null);
holder = new ViewHolder();
v.setTag(holder);
}
else {
holder=(ViewHolder)v.getTag();
if(holder == null){
holder = new ViewHolder();
}
}
TextView tl = (TextView) v.findViewById(R.id.label);
tl.setTextAppearance(getContext(), R.style.styleA);
이 스 니펫의 마지막 줄이 크래시를 유발하는 것 같습니다. 그러나 나는 그것을 결코 경험하지 못했고 여러 장치에서 테스트 해왔다.
도움을 주시면 대단히 감사하겠습니다!
는 편집 :
subcategory_row.xml 당신은 당신의 ViewHolder 개체 여기
내부의 TextView
를 저장해야
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/row_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="0dip"
android:background="@drawable/background"
android:weightSum="80">
<TextView
android:id="@+id/label"
android:layout_weight="9"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_marginRight="6dip"
android:gravity="center_vertical|center"
android:text="C.r"
android:textSize="12sp"
android:textColor="@color/default_textcolor"
/>
<LinearLayout
android:orientation="vertical"
android:layout_width="0dip"
android:layout_weight="53"
android:layout_height="fill_parent">
<TextView
android:id="@+id/text_bb"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:layout_marginLeft="4dip"
android:gravity="bottom"
android:textSize="13sp"
android:textColor="@color/default_textcolor"
android:ellipsize="end" android:singleLine="true"/>
<TextView
android:id="@+id/text_ba"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:layout_marginLeft="4dip"
android:gravity="top"
android:textSize="13sp"
android:textColor="@color/default_textcolor"
android:ellipsize="end" android:singleLine="true"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="0dip"
android:layout_weight="8"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/text_a"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:gravity="bottom|right"
android:textSize="13sp"
android:text="0"
android:textColor="@color/default_textcolor"
/>
<TextView
android:id="@+id/text_b"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:gravity="top|right"
android:textSize="19sp"
android:text="0"
android:textColor="@color/default_textcolor"
/>
</LinearLayout>
<LinearLayout
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|right"
android:layout_weight="10"
android:orientation="vertical"
android:paddingLeft="10dp" >
<ImageView
android:id="@+id/arrow"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:paddingLeft="-10dip"
android:paddingRight="10dip"
android:src="@drawable/arrow"
android:visibility="visible" />
</LinearLayout>
</LinearLayout>
레이아웃 subcatategory_row을 (를) psot 할 수 있습니까? – Sephy