Advertisement
Guest User

Untitled

a guest
Aug 19th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.48 KB | None | 0 0
  1. package com.kusoft.accessoriespc;
  2.  
  3. import androidx.appcompat.app.AppCompatActivity;
  4. import androidx.recyclerview.widget.LinearLayoutManager;
  5. import androidx.recyclerview.widget.RecyclerView;
  6.  
  7. import android.content.Intent;
  8. import android.os.Bundle;
  9. import android.view.Menu;
  10. import android.view.MenuItem;
  11. import android.widget.Toast;
  12.  
  13. import com.kusoft.accessoriespc.Adapter.ListAccessoriesAdapter;
  14.  
  15. import java.util.ArrayList;
  16.  
  17. public class MainActivity extends AppCompatActivity {
  18. private RecyclerView rvAccessories;
  19. private ArrayList<Accessories> list = new ArrayList<>();
  20.  
  21. @Override
  22. protected void onCreate(Bundle savedInstanceState) {
  23. super.onCreate(savedInstanceState);
  24. setContentView(R.layout.activity_main);
  25.  
  26. rvAccessories = findViewById(R.id.rv_accessories);
  27. rvAccessories.setHasFixedSize(true);
  28.  
  29. list.addAll(AccessoriesData.getListData());
  30. showRecyclerList();
  31. }
  32.  
  33. private void showRecyclerList() {
  34. rvAccessories.setLayoutManager(new LinearLayoutManager(this));
  35. ListAccessoriesAdapter listAccessoriesAdapter = new ListAccessoriesAdapter(list);
  36. rvAccessories.setAdapter(listAccessoriesAdapter);
  37.  
  38. ListAccessoriesAdapter.setOnItemClickCallback(new ListAccessoriesAdapter.OnItemClickCallback() {
  39. @Override
  40. public void onItemClicked(Accessories data) {
  41. showSelectedAcc(data);
  42. }
  43. });
  44. }
  45.  
  46. @Override
  47. public boolean onCreateOptionsMenu(Menu menu) {
  48. getMenuInflater().inflate(R.menu.menu_main, menu);
  49. return super.onCreateOptionsMenu(menu);
  50. }
  51.  
  52. @Override
  53. public boolean onOptionsItemSelected(MenuItem item) {
  54. setMode(item.getItemId());
  55. return super.onOptionsItemSelected(item);
  56. }
  57.  
  58.  
  59. private void showSelectedAcc(Accessories accessories) {
  60. Toast.makeText(this, "Anda telah memilih " + accessories.getName(), Toast.LENGTH_SHORT).show();
  61. Intent ambil = new Intent(MainActivity.this, Detail.class);
  62. ambil.putExtra("name", accessories.getName());
  63. ambil.putExtra("photo", accessories.getPhoto());
  64. ambil.putExtra("form", accessories.getForm());
  65.  
  66. startActivity(ambil);
  67. }
  68.  
  69. private void showRecyclerAbout(About about) {
  70. Toast.makeText(this, "Kamu memilih " + about.getName(), Toast.LENGTH_SHORT).show();
  71. Intent ambil = new Intent(MainActivity.this, About.class);
  72.  
  73. startActivity(ambil);
  74. }
  75.  
  76.  
  77.  
  78. public void setMode(int selectedMode) {
  79. switch (selectedMode) {
  80. case R.id.action_about:
  81. break;
  82.  
  83. if (selectedMode == R.id.action_about) {
  84. Intent aboutIntent = new Intent(MainActivity.this, About.class);
  85. startActivity(aboutIntent);
  86. }
  87. }
  88. }
  89. }
  90.  
  91.  
  92.  
  93.  
  94.  
  95. package com.kusoft.accessoriespc.Adapter;
  96.  
  97. import android.view.LayoutInflater;
  98. import android.view.View;
  99. import android.view.ViewGroup;
  100. import android.widget.ImageView;
  101. import android.widget.TextView;
  102.  
  103. import androidx.annotation.NonNull;
  104. import androidx.recyclerview.widget.RecyclerView;
  105.  
  106. import com.bumptech.glide.Glide;
  107. import com.bumptech.glide.request.RequestOptions;
  108. import com.kusoft.accessoriespc.Accessories;
  109. import com.kusoft.accessoriespc.R;
  110.  
  111. import java.util.ArrayList;
  112.  
  113. public class ListAccessoriesAdapter extends RecyclerView.Adapter<ListAccessoriesAdapter.ListViewHolder> {
  114. private ArrayList<Accessories> listAccessories;
  115. private OnItemClickCallback onItemClickCallback;
  116.  
  117. public ListAccessoriesAdapter(ArrayList<Accessories> list) {
  118. this.listAccessories = list;
  119. }
  120. public void setOnItemClickCallback(OnItemClickCallback onItemClickCallback) {
  121. this.onItemClickCallback = onItemClickCallback;
  122. }
  123.  
  124. @NonNull
  125. @Override
  126. public ListAccessoriesAdapter.ListViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
  127. View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_row_accessories, viewGroup, false);
  128. return new ListViewHolder(view);
  129. }
  130. @Override
  131. public void onBindViewHolder(@NonNull final ListViewHolder holder, int position) {
  132. Accessories accessories = listAccessories.get(position);
  133. Glide.with(holder.itemView.getContext())
  134. .load(accessories.getPhoto())
  135. .apply(new RequestOptions().override(55, 55))
  136. .into(holder.imgPhoto);
  137. holder.tvName.setText(accessories.getName());
  138. holder.tvForm.setText(accessories.getForm());
  139.  
  140. holder.itemView.setOnClickListener(new View.OnClickListener() {
  141. @Override
  142. public void onClick(View v) {
  143. onItemClickCallback.onItemClicked(listAccessories.get(holder.getAdapterPosition()));
  144. }
  145. });
  146. }
  147. @Override
  148. public int getItemCount() {
  149. return listAccessories.size();
  150. }
  151.  
  152. public interface OnItemClickCallback {
  153. void onItemClicked(Accessories data);
  154. }
  155. public class ListViewHolder extends RecyclerView.ViewHolder {
  156.  
  157. ImageView imgPhoto;
  158. TextView tvName, tvForm;
  159.  
  160. public ListViewHolder(@NonNull View itemView) {
  161. super(itemView);
  162. imgPhoto = itemView.findViewById(R.id.img_item_photo);
  163. tvName = itemView.findViewById(R.id.tv_item_name);
  164. tvForm = itemView.findViewById(R.id.tv_item_form);
  165. }
  166. }
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement