2016-07-31 128 views
0

我有一个Adapter文件为RecyclerView,给这个Android Studio警告: Private field 'context' is assigned but never accessed即使我使用this.context = context。我有一个Adapter文件的另一个工作应用程序,它具有与context完全相同的代码,Android Studio不会为该文件发出警告。我在这里错过了什么?Android RecyclerView:为什么Adapter的上下文返回警告?

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

没有其他地方。为什么我会在一个应用程序的文件中得到警告,但是我没有在具有完全相同的“this.context = context”代码的其他应用程序文件中得到警告。 – AJW

+0

这就是你收到警告的原因。 –

回答

0

此警告的手段,你不使用类的休息你context场。如果你不需要它,你可以删除它。除非你不删除它不会是一个问题。

+0

我在“public ContactListAdapter(Context context)”方法中使用它。如果我删除“私人上下文环境”,那么应用程序将崩溃。 – AJW

+0

此上下文是另一个上下文,因为参数来自您调用ContactListAdapter的地方。如果您不需要ContactListAdapter类的上下文休息,也从构造函数中删除。 – faranjit