Advertisement
RakaArdiansyah

TreadLayoutAdapter

Jun 9th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.97 KB | None | 0 0
  1. package com.example.kibow.mchattingnotary.report_ticket.adapterticket;
  2.  
  3. import android.content.Context;
  4. import android.support.annotation.NonNull;
  5. import android.support.v7.widget.RecyclerView;
  6. import android.util.Log;
  7. import android.view.LayoutInflater;
  8. import android.view.View;
  9. import android.view.ViewGroup;
  10. import android.widget.TextView;
  11. import android.widget.Toast;
  12.  
  13. import com.example.kibow.mchattingnotary.BuildConfig;
  14. import com.example.kibow.mchattingnotary.R;
  15. import com.example.kibow.mchattingnotary.report_ticket.network.DigisatClient;
  16. import com.example.kibow.mchattingnotary.report_ticket.network.ServiceGenerator;
  17. import com.example.kibow.mchattingnotary.report_ticket.response.ListOsticket;
  18. import com.example.kibow.mchattingnotary.report_ticket.response.Tread;
  19. import com.google.gson.GsonBuilder;
  20.  
  21. import java.util.ArrayList;
  22.  
  23. import retrofit2.Call;
  24. import retrofit2.Callback;
  25. import retrofit2.Response;
  26.  
  27. import static com.bumptech.glide.gifdecoder.GifHeaderParser.TAG;
  28. import static com.example.kibow.mchattingnotary.report_ticket.network.ServiceGenerator.BASE_URL2;
  29.  
  30. public class TreadLayoutAdapter extends RecyclerView.Adapter<TreadLayoutAdapter.TreadHolder> {
  31.  
  32. public ArrayList<Tread> arraylist;
  33. public Context context;
  34.  
  35. public TreadLayoutAdapter(Context context, ArrayList<Tread> arraylist) {
  36. this.arraylist = arraylist;
  37. this.context = context;
  38. }
  39.  
  40. @NonNull
  41. @Override
  42. public TreadHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  43. View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.activity_tread_layout, parent, false);
  44. return new TreadHolder(view);
  45. }
  46.  
  47. @Override
  48. public void onBindViewHolder(@NonNull TreadHolder holder, int position) {
  49. holder.tvNamaTR.setText(arraylist.get(position).getPoster());
  50. holder.tvTanggalTR.setText(arraylist.get(position).getUpdated());
  51. holder.tvKeteranganTR.setText(arraylist.get(position).getBody());
  52.  
  53. rvTreadLayout();
  54. }
  55.  
  56. @Override
  57. public int getItemCount() {
  58. return arraylist.size();
  59. }
  60.  
  61. public class TreadHolder extends RecyclerView.ViewHolder {
  62.  
  63. TextView tvNamaTR, tvTanggalTR, tvKeteranganTR;
  64. RecyclerView rv_Tread;
  65.  
  66. public TreadHolder(View itemView) {
  67. super((View) itemView);
  68.  
  69. tvNamaTR = itemView.findViewById(R.id.namaTread);
  70. tvTanggalTR = itemView.findViewById(R.id.tanggalTread);
  71. tvKeteranganTR = itemView.findViewById(R.id.isiketeranganTread);
  72. rv_Tread = itemView.findViewById(R.id.rv_Tread);
  73.  
  74. itemView.setOnClickListener(new View.OnClickListener() {
  75. @Override
  76. public void onClick(View v) {
  77. Toast.makeText(context, arraylist.get(getAdapterPosition()).getPoster(), Toast.LENGTH_SHORT).show();
  78. }
  79. });
  80. }
  81. }
  82.  
  83. private void rvTreadLayout() {
  84. Call<ListOsticket> call = ServiceGenerator.createService(DigisatClient.class)
  85. .getTreads(BuildConfig.API_KEY, BASE_URL2);
  86. // Kirim request
  87. call.enqueue(new Callback<ListOsticket>() {
  88. @Override
  89. public void onResponse(Call<ListOsticket> call, Response<ListOsticket> response) {
  90. if (response != null && response.isSuccessful()) {
  91. Log.d(TAG, "onResponse listid: " + new GsonBuilder().setPrettyPrinting().create()
  92. .toJson(response.body()));
  93.  
  94. arraylist.addAll(response.body().getTreads());
  95. } else {
  96. // Toast.makeText(TreadLayoutAdapter.this, "Gak dapet detail Tread..", Toast.LENGTH_SHORT).show();
  97. }
  98. }
  99.  
  100. @Override
  101. public void onFailure(Call<ListOsticket> call, Throwable t) {
  102. Log.d(TAG, "onFailure listid: " + t.getMessage());
  103. }
  104. });
  105. }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement