Last active
February 10, 2020 08:34
-
-
Save Lukmannudin/00fc3a5aa058e2013eb09e0cd7ecea7b to your computer and use it in GitHub Desktop.
Code Readibility Sleepy
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package id.diamondsleep.adapter; | |
| import android.content.Context; | |
| import android.content.Intent; | |
| import android.support.v7.widget.RecyclerView; | |
| import android.util.Log; | |
| import android.view.LayoutInflater; | |
| import android.view.View; | |
| import android.view.ViewGroup; | |
| import android.widget.ImageView; | |
| import android.widget.TextView; | |
| import com.bumptech.glide.Glide; | |
| import com.google.gson.Gson; | |
| import java.util.ArrayList; | |
| import id.diamondsleep.R; | |
| import id.diamondsleep.model.Artikel; | |
| import id.diamondsleep.utilities.ConstantValue; | |
| import id.diamondsleep.utilities.Penghitungan; | |
| import id.diamondsleep.view.activity.TipsArtikelDetailActivity; | |
| /** | |
| * Created by nonomang on 17/05/17. | |
| */ | |
| public class ArtikelAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { | |
| public final int TYPE_ARTIKEL = 0; | |
| public final int TYPE_LOAD = 1; | |
| Context context; | |
| ArrayList<Artikel> mArtikels; | |
| OnLoadMoreListener loadMoreListener; | |
| boolean isLoading = false, isMoreDataAvailable = true; | |
| public ArtikelAdapter(Context context, ArrayList<Artikel> mArtikels) { | |
| this.context = context; | |
| this.mArtikels = mArtikels; | |
| } | |
| @Override | |
| public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { | |
| LayoutInflater inflater = LayoutInflater.from(context); | |
| if (viewType == TYPE_ARTIKEL) { | |
| return new ArtikelHolder(inflater.inflate(R.layout.adapter_article, parent, false)); | |
| } else { | |
| return new LoadHolder(inflater.inflate(R.layout.adapter_load, parent, false)); | |
| } | |
| } | |
| @Override | |
| public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { | |
| if (position >= getItemCount() - 1 && isMoreDataAvailable && isLoading && loadMoreListener != null) { | |
| isLoading = true; | |
| loadMoreListener.onLoadMore(); | |
| } | |
| if (getItemViewType(position) == TYPE_ARTIKEL) { | |
| ((ArtikelHolder) holder).bindData(mArtikels.get(position)); | |
| } | |
| } | |
| @Override | |
| public int getItemViewType(int position) { | |
| if (mArtikels.get(position).getIsi().equals("loadArtikel")) { | |
| return TYPE_LOAD; | |
| } else { | |
| return TYPE_ARTIKEL; | |
| } | |
| } | |
| @Override | |
| public int getItemCount() { | |
| return mArtikels.size(); | |
| } | |
| public void setMoreDataAvailable(boolean moreDataAvailable) { | |
| isMoreDataAvailable = moreDataAvailable; | |
| } | |
| public void notifyDataChanged() { | |
| notifyDataSetChanged(); | |
| isLoading = false; | |
| } | |
| public void setLoadMoreListener(OnLoadMoreListener loadMoreListener) { | |
| this.loadMoreListener = loadMoreListener; | |
| } | |
| public interface OnLoadMoreListener { | |
| void onLoadMore(); | |
| } | |
| static class LoadHolder extends RecyclerView.ViewHolder { | |
| public LoadHolder(View itemView) { | |
| super(itemView); | |
| } | |
| } | |
| class ArtikelHolder extends RecyclerView.ViewHolder { | |
| TextView artikel_judul, artikel_pengirim, artikel_tanggal; | |
| ImageView artikel_gambar; | |
| public ArtikelHolder(final View itemView) { | |
| super(itemView); | |
| artikel_judul = (TextView) itemView.findViewById(R.id.title_article); | |
| artikel_pengirim = (TextView) itemView.findViewById(R.id.pembuat_article); | |
| artikel_tanggal = (TextView) itemView.findViewById(R.id.tv_tgl_post_articleadapter); | |
| artikel_gambar = (ImageView) itemView.findViewById(R.id.img_artikel); | |
| itemView.setOnClickListener(new View.OnClickListener() { | |
| @Override | |
| public void onClick(View view) { | |
| Intent intent = new Intent(view.getContext(), TipsArtikelDetailActivity.class); | |
| intent.putExtra("detailArtikel", new Gson().toJson(mArtikels.get(getAdapterPosition()))); | |
| itemView.getContext().startActivity(intent); | |
| // Toast.makeText(context, "Clicked", Toast.LENGTH_SHORT).show(); | |
| } | |
| }); | |
| } | |
| void bindData(Artikel artikel) { | |
| if (artikel.getJudul().length() > 43) { | |
| artikel_judul.setText(artikel.getJudul().substring(0, 40) + "..."); | |
| } else { | |
| artikel_judul.setText(artikel.getJudul()); | |
| } | |
| artikel_pengirim.setText(artikel.getPengirim()); | |
| // String[] tanggal = artikel.getTanggal().split("-"); | |
| String tanggal = Penghitungan.convertDateFromDBFormat(artikel.getTanggal()); | |
| artikel_tanggal.setText(tanggal); | |
| try { | |
| String image_uri = ConstantValue.Api.PICTURE_URI + artikel.getGambar(); | |
| Glide.with(context).load(image_uri).into(artikel_gambar); | |
| } catch (Exception ex) { | |
| Log.e("Connection", ex.getMessage()); | |
| Glide.with(context).load(R.mipmap.ic_sad_black).into(artikel_gambar); | |
| } | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment