В моем RecyclerView.ViewHolder я хочу проверить, есть ли сеть и отобразить индикатор выполнения, если он возвращает true.Как предоставить параметр контекста RecyclerView.ViewHolder
Я использую этот класс для проверки сетевого подключения:
public class NetworkCheck {
public static boolean isAvailableAndConnected(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
boolean isNetworkAvailable = cm.getActiveNetworkInfo() != null;
boolean isNetWorkConnected = isNetworkAvailable && cm.getActiveNetworkInfo().isConnected();
return isNetWorkConnected;
}
}
Тогда в RecyclerView.ViewHolder я это делаю:
public static class ProgressViewHolder extends RecyclerView.ViewHolder {
Button loadButton;
ProgressBar progressBar;
public ProgressViewHolder(View footerView){
super(footerView);
loadButton = (Button) footerView.findViewById(R.id.reload_button);
progressBar = (ProgressBar) footerView.findViewById(R.id.progress_load);
if(NetworkCheck.isAvailableAndConnected(Context)) {
loadButton.setVisibility(View.VISIBLE);
}
}
}
В строке if(NetworkCheck.isAvailableAndConnected(Context)) {
Android-студия красно-подчеркнуты Context с сообщение: «Ожидаемое выражение». Я пробовал context
, getApplicationContext
, getBaseContext
, this
, но ни один из них не работает.
Пожалуйста, где я ошибаюсь?
Вашего держатель вида является статическим, так положить его в адаптере вы простирающийся, а затем передать контекст вы использовали для раздувания этого держателя –