2016-07-31 1 views
0

RecyclerViewAdapterファイルは、this.context = contextを使用していますが、このAndroidスタジオの警告: Private field 'context' is assigned but never accessedを提供しています。私はAdapterファイルの別の作業用アプリケーションを持っています。これはcontextと全く同じコードを持ち、Android Studioはそのファイルに対して警告を出しません。私はここで何が欠けていますか?警告とAndroid RecyclerView:なぜアダプタのコンテキストが警告を返すのですか?

ContactListAdapter.javaファイル:

package com.example.jdw.sixteenthversion; 

import android.content.Context; 
import android.support.v7.widget.CardView; 
import android.support.v7.widget.RecyclerView; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.CheckBox; 
import android.widget.TextView; 

import java.util.ArrayList; 
import java.util.List; 

public class ContactListAdapter extends RecyclerView.Adapter<ContactListAdapter.ListViewHolder> { 

private List<Contact> contactList; 
**private Context context**; 

private RecyclerItemClickListener recyclerItemClickListener; 

public ContactListAdapter(Context context) { 
    this.context = context; 
    this.contactList = new ArrayList<>(); 
}  

これは作業アプリのContactListAdapter.javaファイルなしスタジオ警告です:

package com.wimso.android_sqlite.adapter; 

import android.content.Context; 
import android.content.res.Resources; 
import android.graphics.Bitmap; 
import android.support.v7.widget.RecyclerView; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ImageView; 
import android.widget.TextView; 

import com.wimso.android_sqlite.R; 
import com.wimso.android_sqlite.listener.RecyclerItemClickListener; 
import com.wimso.android_sqlite.model.Contact; 
import com.wimso.android_sqlite.widget.LetterTile; 

import java.util.ArrayList; 
import java.util.List; 

public class ContactListAdapter extends RecyclerView.Adapter<ContactListAdapter.ContactHolder>{ 

private List<Contact> contactList; 
**private Context context**; 

private RecyclerItemClickListener recyclerItemClickListener; 

public ContactListAdapter(Context context) { 
    this.context = context; 
    this.contactList = new ArrayList<>(); 
} 
+0

this.context = context以外の場所でコンテキストを使用していますか?そうでなければ、あなたは警告を受けている理由です。 –

+0

他の場所はありません。なぜ私は1つのアプリケーションのファイルで警告を得るだろうが、私はまったく同じ "this.context = context"コードを持つ他のアプリケーションのファイルで警告を取得しません。 – AJW

+0

これが警告を発する理由です。 –

答えて

0

この警告手段は、クラスの残りの部分であなたのcontextフィールドを使用してはいけません。あなたがそれを必要としないなら、それを削除することができます。あなたがそれを削除しない限り、問題ではないでしょう。

+0

私はそれを "Public ContactListAdapter(Context context)"メソッドで使用します。 "プライベートコンテキストコンテキスト"を削除すると、アプリケーションがクラッシュします。 – AJW

+0

このコンテキストは、ContactListAdapterを呼び出す場所からパラメータが来る別のコンテキストです。 ContactListAdapterクラスのコンテキストの残りが必要ない場合は、コンストラクタからも削除してください。 – faranjit

関連する問題