2017-10-14 14 views
0

はここに私のlogcatだ私は、このエラーのNullPointerException:

を修正するのに役立つnullオブジェクト参照のインターフェイスメソッド 'java.lang.Objectの[] java.util.Collection.toArrayを()' 呼び出そうと

NullPointerException:ヌルオブジェクトでインタフェースメソッド 'java.lang.Object [] java.util.Collection.toArray()'を呼び出そうとしました 参照 ---> membersList.addAll(member);

私は数回試してみましたが、それは役に立たなかった。この問題を解決するのを手伝ってください。

10-14 16:11:09.995 31885-31885/com.designzoos.indj E/UncaughtException: java.lang.IllegalStateException: Fatal Exception thrown on Scheduler. 
                     at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:111) 
                     at android.os.Handler.handleCallback(Handler.java:739) 
                     at android.os.Handler.dispatchMessage(Handler.java:95) 
                     at android.os.Looper.loop(Looper.java:148) 
                     at android.app.ActivityThread.main(ActivityThread.java:5551) 
                     at java.lang.reflect.Method.invoke(Native Method) 
                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730) 
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) 
                    Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.Object[] java.util.Collection.toArray()' on a null object reference 
                     at java.util.ArrayList.addAll(ArrayList.java:188) 
                     at com.designzoos.indj.presentation.view.adapter.ChooseArtistAdapter.<init>(ChooseArtistAdapter.java:72) 
                     at com.designzoos.indj.presentation.view.activity.ChooseArtistActivity.showMembersData(ChooseArtistActivity.java:155) 
                     at com.designzoos.indj.presentation.presenter.PostArtistPresenter$MembersLikeDataObserver.onNext(PostArtistPresenter.java:75) 
                     at com.designzoos.indj.presentation.presenter.PostArtistPresenter$MembersLikeDataObserver.onNext(PostArtistPresenter.java:54) 
                     at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:198) 
                     at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:250) 
                     at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:109) 
                     at android.os.Handler.handleCallback(Handler.java:739)  
                     at android.os.Handler.dispatchMessage(Handler.java:95)  
                     at android.os.Looper.loop(Looper.java:148)  
                     at android.app.ActivityThread.main(ActivityThread.java:5551)  
                     at java.lang.reflect.Method.invoke(Native Method)  
                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730)  
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)  

ここに私のアダプタ
(ChooseArtistAdapter.java:72)---> membersList.addAll(メンバー)があります。

public class ChooseArtistAdapter extends RecyclerView.Adapter<ChooseArtistAdapter.ViewHolder> implements Filterable,SearchView { 
private ArrayList<Members>member = new ArrayList<>(); 
private ArrayList<Members>membersList; 
private RecordFilter filter; 
Context mContext; 
@Inject 
PostArtistPresenter postArtistPresenter; 

public ChooseArtistAdapter(Context context, ArrayList<Members> member) { 

//  if(member==null)return; 
    this.mContext = context; 
    this.membersList = new ArrayList<>(); 
    this.member = member; 
    **membersList.addAll(member);** 

} 

@Override 
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_artist_adapter, parent, false); 

    return new ViewHolder(view); 
} 

@Override 
public void onBindViewHolder(final ViewHolder holder, int position) { 
    final Members members = membersList.get(position); 
    holder.artistName.setText(members.getName()); 
//  if(){ 
//   holder.artistName.setText(members.getName()); 
//  }else if(){ 
//   holder.artistName.setText(members.getGroup()+" 
"+members.getName()); 
//  } 
    Glide.with(mContext) 
      .load(members.getImageUrl()).listener(new 
RequestListener<Drawable>() { 
     @Override 
     public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) { 
      return false; 
     } 

     @Override 
     public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) { 
      holder.imageViewPlaceHolder.setVisibility(View.GONE); 
      return false; 
     } 
    }) 
      .into(holder.artist_image_cover); 

    holder.setItemClickListener(new ItemClickListener() { 
     boolean isSelectClick=true; 
     int count =0; 
     @Override 
     public void onClick(View view, int position) { 
      Context context = view.getContext(); 

      if(isSelectClick==true){ 
       holder.selectImage.setVisibility(View.VISIBLE); 
       isSelectClick=false; 
       count=1; 
       //post 
        ((ChooseArtistActivity) context).postPresenter(); 


      }else if(isSelectClick==false){ 
       holder.selectImage.setVisibility(View.GONE); 
       isSelectClick=true; 
       count=-1; 
       //delete 
        ((ChooseArtistActivity) context).deletePresenter(); 


      } 
      ((ChooseArtistActivity)context).setCountText(count); 

     } 
    }); 
} 

@Override 
public int getItemCount() { 
    if (null == membersList) 
    { 
     return 0; 
    }else{ 
     return membersList.size(); 
    } 
} 




public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { 
    @Nullable 
    @BindView(R.id.imageViewPlaceHolder) 
    CircularImageView imageViewPlaceHolder; 

    @Nullable 
    @BindView(R.id.artist_image_cover) 
    CircularImageView artist_image_cover; 

    @Nullable 
    @BindView(R.id.selectImage) 
    public 
    CircularImageView selectImage; 

    @BindView(R.id.artistName) 
    TextView artistName; 

    @Nullable 
    @BindView(R.id.check) 
    public TextView check; 
    private ItemClickListener itemClickListener; 
    private ChooseArtistActivity chooseArtistActivity; 



    public ViewHolder(View itemView) { 
     super(itemView); 
     ButterKnife.bind(this, itemView); 

     itemView.setOnClickListener(this); 
     //onClick 
    } 

    public void setItemClickListener(ItemClickListener itemClickListener){ 
     this.itemClickListener = itemClickListener; 
    } 
    @Override 
    public void onClick(View view) { 
     itemClickListener.onClick(view,getAdapterPosition()); 
    } 
} 
+0

を試すだけ例外のスタックトレースをお読みください。あなたのクラスのコンストラクタに渡された 'member'引数はnullです。 'null'のすべての要素をリストに追加することはできません。それは意味をなさない。したがって、nullがこの引数の有効な値である場合は、すべての要素を追加する前にnullでないことを確認します。それが有効な値でない場合は、そのコンストラクタがnullでコンストラクタを呼び出さないように、そのコンストラクタを呼び出すコードを修正します。 –

+0

答えをありがとうが、コンストラクタにはnull値がありません。下記のD /アダプターをご覧ください[10-14 18:01:14.988 14449:14449 D/[[email protected]、[email protected] – Tomokim

+0

そうでなければ、この例外は発生しません。 –

答えて

0

if(member != null) 
    membersList.addAll(member); 
+0

答えをありがとう。問題は解決されませんでした。データをインポートすることはできないようです。別の解決策を教えてください。 – Tomokim

関連する問題