カスタムアダプターを使用してリストビューを表示していますが、残念ながらスクロールするとヌルオブジェクト参照が表示されます。スクロールカスタムアダプターのエラーを示すリストビュー
私は前の質問を見ましたが、何も考えられませんでしたか?
スクリーンショット:
[ここで、画像の説明を入力] [1]
9月9日13:39:53.949 3111から3111/com.aug22.avinashchintareddy.ecommerce E/AndroidRuntime:致命的な例外:メイン プロセス:com.aug22.avinashchintareddy.ecommerce、PID:3111 java.lang.NullPointerException:NULLオブジェクト参照で仮想メソッド 'void android.widget.TextView.setText(java.lang.CharSequence)'を呼び出そうとしています com.aug22.avinashchintareddy.ecommerce.adapters.ProductAdapt.getView(ProductAdapt.java:79)android.widget.AbsListView.obtainViewの(AbsListView.java:2346)android.widget.ListView.makeAndAddView(ListView.java:1875)の android.widget.ListView.fillDown(ListView.java:702) at android.widget.ListView.fillGap(ListView.java:666)android.widget.AbsListView.trackMotionScroll(AbsListView.java:5029)の android.widget.AbsListView.scrollIfNeeded(AbsListView.java:3424)の はandroidです。ウィジェット.AbsListView.onTouchMove(AbsListView.java:3820) (android.widget.AbsListView.onTouchEvent(AbsListView.java:3651)) android.view.View android.view.ViewGroup.dispatchTransformedTouchEventでandroid.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2240) でandroid.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2547) で.dispatchTouchEvent(View.java:9294) android.view.ViewGroup.dispatchTouchEvent(のViewGroupにandroid.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)でandroid.view.ViewGroup.dispatchTouchEventで(ViewGroup.java:2553) (ViewGroup.java:2254) .java:2254) (android.view.View.View.View.View.View.View.View.View.View.View.Group)で、 が表示されます(ViewGroup.java:2553)。 dispatchTouchEvent(ViewGroup.java:2254)android.view.ViewGroup.dispatchTransformedTouchEventでandroid.view.ViewGroup.dispatchTouchEventでandroid.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) (ViewGroup.java:2254) (AT (ViewGroup.java:2553) (android.view.View.View.Dava): (android.view.View.View.View.View.DavidTouchEvent(ViewGroup.java:2553) )は、 java:2254) android.view.View.View.View.ViewGr(ビューグループ.java:2553) oup.dispatchTouchEvent(ViewGroup.java:2254) (android.view.View.View.View.View.View.View.View.Java:2553) android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) android.view.ViewGroup。 android.view.View.ViewGroup.dispatchTouchEvent(viewGroup。)のdispatchTransformedTouchEvent(ViewGroup.java:2553) です。Javaの:ビューは、リストがスクロールされ、これまでのレンダリング要素が示されたときに、残念ながら起こったが何をチェックするログイン2254)
これは、エラーログ
マイアダプタクラス であるが、ここで
側のコードを入力し追加されます要素のすべてではありません また、ビューサイズを取得する際に追加されたログを見ることができます。 アダプタクラス。代わりに
myview.getTag();
の
public class ProductAdapt
extends BaseAdapter {
List
productAcessorList ;
Context context;
LayoutInflater layoutInflater;
setClicker clicker;
public ProductAdapt(List
productAcessorList, Context context) {
this.productAcessorList = productAcessorList;
this.context = context;
layoutInflater=(LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
Log.i("List size",""+
productAcessorList.size());
return productAcessorList.size();
}
@Override
public Object
getItem(int i) {
return i;
}
@Override
public long getItemId(int i) {
return i;
}
public static class Handler{
TextView tx_prodname,
tx_proddesc,tx_proid;
ImageView img_prd;
}
@Override
public View getView(final int i,
View myview, ViewGroup viewGroup) {
Handler handler = new Handler();
if(myview == null){
myview=layoutInflater.inflate
(R.layout.list_prod,viewGroup,false);
handler.tx_prodname=(TextView)
myview.findViewById(R.id.txt_categid);
handler.tx_proddesc=(TextView)
myview.findViewById(R.id.txt_descid);
handler.tx_proid=(TextView)
myview.findViewById(R.id.txt_idi);
handler.img_prd=myview.
findViewById(R.id.img_view);
myview.setTag(handler);
}
else
{
myview.getTag();
}
Log.i("find fault",""+
productAcessorList.get(i).getProduct());
handler.tx_prodname.
setText(""+productAcessorList.get(i).getProduct());
handler.tx_proddesc.
setText(""+productAcessorList.get(i).getDescrip());
handler.tx_proid.
setText(""+productAcessorList.get(i).getId());
Picasso.with(context).
load(""+productAcessorList.
get(i).getImage()).
into(handler.img_prd);
myview.
setOnClickListener
(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(clicker!=null){
clicker.gotClick(view,i);
}
}
});
return myview;
}
public void getClicker
(setClicker clicker){
this.clicker=clicker;
}
}
Plaeseはエラーログを画像としてではなくテキストとして投稿し、コードを適切にフォーマットします。 –