2016-07-31 16 views
0

Ich habe eine Adapter Datei für eine RecyclerView, die diese Warnung Android Studio gibt: Private field 'context' is assigned but never accessed, obwohl ich this.context = context verwenden. Ich habe eine andere funktionierende App mit einer Adapter Datei, die genau den gleichen Code für die context hat und Android Studio gibt keine Warnung für diese Datei. Was fehlt mir hier?Android RecyclerView: Warum gibt der Kontext des Adapters eine Warnung zurück?

ContactListAdapter.java Datei mit Warnung:

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<>(); 
}  

Dies ist die ContactListAdapter.java Datei Arbeits App und kein Studio Warnung:

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

Verwenden Sie Kontext an einem anderen Ort als this.context = context? Wenn nicht, ist das der Grund, warum Sie die Warnung erhalten. –

+0

Keine anderen Orte. Warum sollte ich die Warnung in der Datei einer App erhalten, aber ich erhalte die Warnung in der Datei der anderen Anwendung, die genau den gleichen "this.context = context" -Code hat. – AJW

+0

Das ist der Grund, warum Sie die Warnung bekommen. –

Antwort

0

Diese Warnung bedeutet, Sie verwenden nicht Ihre context Feld in Rest der Klasse. Wenn Sie es nicht brauchen, können Sie es löschen. Wenn Sie es nicht löschen, wird es kein Problem sein.

+0

Ich verwende es in der Methode "public ContactListAdapter (Kontext Kontext)". Wenn ich "privaten Kontext Kontext" lösche, stürzt die App ab. – AJW

+0

Dieser Kontext ist ein weiterer Kontext, da ein Parameter von wo Sie ContactListAdapter aufrufen. Löschen Sie auch aus dem Konstruktor, wenn Sie keinen Kontext Rest der ContactListAdapter-Klasse benötigen. – faranjit