EN / USD
32
of 76
TEP , The Engineering Projects , Image

syedzainnasir

TEP , The Engineering Projects , Rating 7.5 7.5 / 10
TEP , The Engineering Projects , Icon Level: Moderator
TEP , The Engineering Projects , Icon Joined: 20 Mar 2022
TEP , The Engineering Projects , Icon Last Active: 2:21 PM
TEP , The Engineering Projects , Icon Location: TEP , The Engineering Projects , Flag
TEP , The ENgineering Projects , Icon TEP , The ENgineering Projects , Icon TEP , The ENgineering Projects , Icon TEP , The ENgineering Projects , Icon
E/RecyclerView: No adapter attached; skipping layout (Using Fragment)
TEP , The Engineering Projects , Calender Question: 09-Mar-2017
TEP , The Engineering Projects , Category In: Computer Software Projects
I have been reading the different answers here on stackoverflow and on this blog post and tried to implement their solutions but I am still getting the error:No adapter attached; skipping layout. help me.
[code]package vn.jupviec.frontend.android.monitor.app.ui.candidate; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; import com.fasterxml.jackson.databind.ObjectMapper; import org.w3c.dom.Text; import java.sql.Timestamp; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import butterknife.BindView; import vn.jupviec.frontend.android.monitor.app.R; import vn.jupviec.frontend.android.monitor.app.domain.candidate.TrainingDTO; import vn.jupviec.frontend.android.monitor.app.util.Utils; /** * Created by Windows 10 Gamer on 16/12/2016. */ public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.RecyclerViewHolder> { private static final String TAG = "RecyclerView"; private List<TrainingDTO> mTrainingDTOs; private Context mContext; private LayoutInflater mLayoutInflater; private String today; private static final DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); AdapterInterface buttonListener; public RecyclerAdapter(Context context, List<TrainingDTO> datas, AdapterInterface buttonListener) { mContext = context; mTrainingDTOs = datas; this.mLayoutInflater = LayoutInflater.from(mContext); this.buttonListener = buttonListener; } @Override public RecyclerViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.candidate_item, parent, false); // View itemView = mLayoutInflater.inflate(R.layout.candidate_item, parent, false); return new RecyclerViewHolder(itemView); } @Override public void onBindViewHolder(RecyclerViewHolder holder, int position) { final ObjectMapper mapper = new ObjectMapper(); final TrainingDTO trainingDTO = mapper.convertValue(mTrainingDTOs.get(position), TrainingDTO.class); holder.tvName.setText(trainingDTO.getMaidName()); holder.status.setVisibility(View.GONE); Date date = new Date(); String currentDate = sdf.format(date); for (TrainingDTO.TrainingDetailDto td : trainingDTO.getListTrain()) { today = Utils.formatDate((long) td.getTrainingDate(),"dd/MM/yyyy"); break; } if(currentDate.equals(today)) { holder.status.setVisibility(View.VISIBLE); holder.status.setText("(M?i)"); } holder.btnHistory.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(mContext,R.string.msg_no_candidate_history,Toast.LENGTH_SHORT).show(); } }); holder.btnTest.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { buttonListener.showComment(trainingDTO); } }); } @Override public int getItemCount() { int size ; if(mTrainingDTOs != null && !mTrainingDTOs.isEmpty()) { size = mTrainingDTOs.size(); } else { size = 0; } return size; } class RecyclerViewHolder extends RecyclerView.ViewHolder { private TextView tvName; private Button btnTest; private Button btnHistory; private TextView status; public RecyclerViewHolder(View itemView) { super(itemView); tvName = (TextView) itemView.findViewById(R.id.txtName); btnTest = (Button) itemView.findViewById(R.id.btnTest); btnHistory = (Button) itemView.findViewById(R.id.btnHistory); status = (TextView)itemView.findViewById(R.id.status); } } public boolean removeItem(int position) { if (mTrainingDTOs.size() >= position + 1) { mTrainingDTOs.remove(position); return true; } return false; } public interface AdapterInterface { void showComment(TrainingDTO trainingDTO); void showHistory(TrainingDTO trainingDTO); } } package vn.jupviec.frontend.android.monitor.app.ui.candidate; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.Color; import android.graphics.drawable.ClipDrawable; import android.graphics.drawable.ShapeDrawable; import android.graphics.drawable.shapes.RoundRectShape; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.Unbinder; import retrofit.Callback; import retrofit.RetrofitError; import retrofit.client.Response; import vn.jupviec.frontend.android.monitor.app.R; import vn.jupviec.frontend.android.monitor.app.domain.ResultDTO; import vn.jupviec.frontend.android.monitor.app.domain.candidate.TrainingDTO; import vn.jupviec.frontend.android.monitor.app.domain.training.CandidateService; import vn.jupviec.frontend.android.monitor.app.util.Constants; import vn.jupviec.frontend.android.monitor.app.util.Utils; /** * Created by Windows 10 Gamer on 09/12/2016. */ public class FragmentTapNew extends Fragment implements RecyclerAdapter.AdapterInterface { private static final String TAG = FragmentTapNew.class.getSimpleName(); Activity myContext = null; private OnItemSelectedListener listener; ShapeDrawable shapeDrawable; @BindView(R.id.lvToday) RecyclerView lvToday; @BindView(R.id.textView) TextView textView; @BindView(R.id.pb_loading) ProgressBar pbLoading; private Unbinder unbinder; private boolean loading = true; int pastVisiblesItems, visibleItemCount, totalItemCount; ArrayList<TrainingDTO> mTrainingDTO ; RecyclerAdapter mTrainingDTOAdapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.activity_candidate_training, container, false); unbinder = ButterKnife.bind(this, v); initViews(); return v; } private void initViews() { LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity().getApplicationContext()); layoutManager.setOrientation(LinearLayoutManager.VERTICAL); lvToday.setHasFixedSize(true); lvToday.setNestedScrollingEnabled(false); Thread t = new Thread(new Runnable() { @Override public void run() { today(); } }); t.start(); } private boolean isNetworkConnected() { ConnectivityManager cm = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo ni = cm.getActiveNetworkInfo(); if (ni == null) { Toast.makeText(getActivity(), R.string.err_cannot_establish_connection, Toast.LENGTH_SHORT).show(); return false; } else return true; } private void today() { if(isNetworkConnected()){ String token = "a"; Integer date = 0; setLoadingVisible(true); CandidateService.getApiDummyClient(getContext()).getCandidate( token, date, Constants.TRAINING, Arrays.asList(Constants.TRAINING_DAY_NEW), new Callback<ResultDTO>() { @Override public void success(ResultDTO resultDTO, Response response) { setLoadingVisible(false); mTrainingDTO = (ArrayList<TrainingDTO>) resultDTO.getData(); if (mTrainingDTO.size() == 0) { if(textView!=null) { textView.setVisibility(View.VISIBLE); textView.setTextColor(Color.RED); textView.setGravity(Gravity.CENTER | Gravity.BOTTOM); } } else { if(textView!=null) { textView.setVisibility(View.GONE); } if(null==mTrainingDTOAdapter) { mTrainingDTOAdapter = new RecyclerAdapter(getActivity(), mTrainingDTO, FragmentTapNew.this); lvToday.setAdapter(mTrainingDTOAdapter); } else { lvToday.setAdapter(mTrainingDTOAdapter); mTrainingDTOAdapter.notifyDataSetChanged(); } lvToday.invalidate(); } } @Override public void failure(RetrofitError error) { Log.e(TAG, "JV-ERROR: " + error.getMessage()); Log.e(TAG, "JV-ERROR: " + error.getSuccessType()); } }); } } @Override public void onResume() { setLoadingVisible(false); initViews(); lvToday.setAdapter(mTrainingDTOAdapter); super.onResume(); } @Override public void onDestroyView() { super.onDestroyView(); unbinder.unbind(); } private void setLoadingVisible(boolean visible) { // pbLoading.getIndeterminateDrawable().setColorFilter(0xFFFF0000, android.graphics.PorterDuff.Mode.MULTIPLY); if(pbLoading!=null) { pbLoading.setVisibility(visible ? View.VISIBLE : View.GONE); lvToday.setVisibility(visible ? View.GONE : View.VISIBLE); } } @Override public void onAttach(Activity activity) { super.onAttach(activity); if (activity instanceof OnItemSelectedListener) { listener = (OnItemSelectedListener) activity; } else { throw new ClassCastException(activity.toString() + " ph?i implemenet MyListFragment.OnItemSelectedListener"); } } @Override public void onDetach() { super.onDetach(); listener = null; } @Override public void showComment(TrainingDTO trainingDTO) { Intent intent = new Intent(getContext(), CommentActivity.class); intent.putExtra(Constants.ARG_NAME_DETAIL, trainingDTO); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); getContext().startActivity(intent); } @Override public void showHistory(TrainingDTO trainingDTO) { Intent intent = new Intent(getContext(), HistoryActivity.class); intent.putExtra(Constants.ARG_CANDIDATE_HISTORY_DETAIL, trainingDTO); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); getContext().startActivity(intent); } public interface OnItemSelectedListener { void showComment(TrainingDTO trainingDTO); void showHistory(TrainingDTO trainingDTO); } }[/code]
TEP , The Engineering Projects , Icon Answer: 0 TEP , The Engineering Projects , Icon Views: 150 TEP , The Engineering Projects , Icon Followers: 85
Small Bio
TEP , The Engineering Projects , Tags
PLC
Robot
STM32
Arduino
AI
ESP32
Ladder Logic
PLC Projects
Programming
Communicates STM32
PLC Projects
Communicates PLC
Font Style
Alignment
Indenting and Lists
Insert Media
Insert Items

Want to leave an answer!

Word Count :0 Draft Saved at 12:42 am.