2016-07-31 5 views
0

RecyclerView에 대한 Adapter 파일은 this.context = context을 사용하더라도이 Android Studio 경고에 Private field 'context' is assigned but never accessed이라는 경고를 제공합니다. Adapter 파일에 context과 동일한 코드가있는 다른 작동중인 앱이 있으며 Android Studio에서 해당 파일에 대한 경고를 표시하지 않습니다. 내가 여기서 무엇을 놓치고 있니? 경고Android RecyclerView : 왜 어댑터의 컨텍스트가 경고를 반환합니까?

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 필드를 사용하지 말아 :

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 파일없이 스튜디오 경고입니다. 필요 없다면 삭제할 수 있습니다. 당신이 그것을 삭제하지 않으면 않는 한 문제가 될거야.

+0

"공용 ContactListAdapter (컨텍스트 컨텍스트)"메서드에서 사용합니다. "개인 컨텍스트 컨텍스트"를 삭제하면 응용 프로그램이 중단됩니다. – AJW

+0

이 컨텍스트는 ContactListAdapter를 호출하는 곳에서 오는 매개 변수로서 또 다른 컨텍스트입니다. ContactListAdapter 클래스의 컨텍스트 나머지가 필요 없다면 생성자에서 삭제하십시오. – faranjit

관련 문제