Guest User

Untitled

a guest
Nov 20th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.84 KB | None | 0 0
  1. public class DishesActivity extends AppCompatActivity {
  2.  
  3. private GridLayoutManager lLayout;
  4. public static final String categoryIdField = "categoryId";
  5.  
  6. private static RealmResults<Dish> dishes;
  7. private Realm realm;
  8.  
  9. @Override
  10. protected void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity_dishes);
  13.  
  14. //настройка REALM
  15. realm = Realm.getDefaultInstance();
  16.  
  17. lLayout = new GridLayoutManager(DishesActivity.this, 2);
  18.  
  19. Intent intent = getIntent();
  20. int categoryId = intent.getIntExtra(CategoryId, 0);
  21. dishes = realm.where(Dish.class).equalTo(categoryIdField, categoryId).findAll();
  22.  
  23. initRecyclerView();
  24.  
  25. }
  26.  
  27. public void initRecyclerView() {
  28. //отображаем данные в RecyclerView
  29. RecyclerView rView = (RecyclerView)findViewById(R.id.recycler_view_dishes);
  30. rView.setHasFixedSize(true);
  31. rView.setLayoutManager(lLayout);
  32.  
  33. RecyclerViewDishAdapter rcAdapter = new RecyclerViewDishAdapter(DishesActivity.this, dishes);
  34. rView.setAdapter(rcAdapter);
  35. }
  36.  
  37. public static RealmResults<Dish> getDishes() {
  38. return dishes;
  39. }
  40. }
  41.  
  42. public class DishActivity extends AppCompatActivity {
  43.  
  44. private ImageView imageView;
  45. private TextView textViewRu;
  46.  
  47. private Context context;
  48.  
  49. private RealmResults<Dish> dishes;
  50. private Realm realm;
  51.  
  52. @Override
  53. protected void onCreate(@Nullable Bundle savedInstanceState) {
  54. super.onCreate(savedInstanceState);
  55. setContentView(R.layout.activity_dish);
  56.  
  57. imageView = (ImageView) findViewById(R.id.dishImageView);
  58. textViewRu = (TextView) findViewById(R.id.textViewRu);
  59.  
  60. Intent intent = getIntent();
  61. int dishIntentId = intent.getIntExtra(CategoryId, 0);
  62.  
  63. context = getApplicationContext();
  64.  
  65. //настройка REALM
  66. realm = Realm.getDefaultInstance();
  67.  
  68. dishes = DishesActivity.getDishes();
  69. textViewRu.setText(dishes.get(dishIntentId).getTitleRu());
  70. Glide.with(context).load(dishes.get(dishIntentId).getImgUrl()).into(imageView);
  71.  
  72. Toolbar dishToolBar = (Toolbar) findViewById(R.id.dish_toolbar);
  73. setSupportActionBar(dishToolBar);
  74. getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  75. getSupportActionBar().setDisplayShowHomeEnabled(true);
  76. getSupportActionBar().setTitle(dishes.get(dishIntentId).getTitleRu());
  77. }
  78.  
  79. @Override
  80. public boolean onOptionsItemSelected(MenuItem item) {
  81.  
  82. int id = item.getItemId();
  83. if(id == android.R.id.home) {
  84. this.finish();
  85. }
  86.  
  87. return super.onOptionsItemSelected(item);
  88. }
  89. }
  90.  
  91. public class RecyclerViewDishHolders extends RecyclerView.ViewHolder implements View.OnClickListener {
  92.  
  93. public TextView titleRu;
  94. public TextView titleEng;
  95. public ImageView categoryImage;
  96. private Context context;
  97.  
  98. public static final String DISH_ID = "DISH_ID";
  99.  
  100. public RecyclerViewDishHolders(View itemView) {
  101. super(itemView);
  102. itemView.setOnClickListener(this);
  103. titleRu = (TextView)itemView.findViewById(R.id.textViewTitleRu);
  104. titleEng = (TextView)itemView.findViewById(R.id.textViewTitleEng);
  105. categoryImage = (ImageView)itemView.findViewById(R.id.imageViewCategory);
  106. categoryImage.setAdjustViewBounds(true);
  107. context = itemView.getContext();
  108. }
  109.  
  110. @Override
  111. public void onClick(View view) {
  112. int itemViewPosition = getAdapterPosition();
  113. Toast.makeText(view.getContext(), "Clicked Dish Position = " + itemViewPosition, Toast.LENGTH_SHORT).show();
  114. Intent intent = new Intent(context, DishActivity.class);
  115. intent.putExtra(DISH_ID, itemViewPosition);
  116. context.startActivity(intent);
  117. }
  118. }
  119.  
  120. public class RecyclerViewDishAdapter extends
  121. RecyclerView.Adapter<RecyclerViewDishHolders> {
  122. private List<Dish> itemList;
  123. private Context context;
  124.  
  125. public RecyclerViewDishAdapter(Context context, List<Dish> itemList) {
  126. this.itemList = itemList;
  127. this.context = context;
  128. }
  129.  
  130. @Override
  131. public RecyclerViewDishHolders onCreateViewHolder(ViewGroup parent, int viewType) {
  132. View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.category_view_list, null);
  133. RecyclerViewDishHolders rcv = new RecyclerViewDishHolders(layoutView);
  134. return rcv;
  135. }
  136.  
  137. @Override
  138. public void onBindViewHolder(RecyclerViewDishHolders holder, int position) {
  139. holder.titleRu.setText(itemList.get(position).getTitleRu());
  140. holder.titleEng.setText(itemList.get(position).getTitleEng());
  141. Glide.with(context).load(itemList.get(position).getImgUrl()).into(holder.categoryImage);
  142. }
  143.  
  144. @Override
  145. public int getItemCount() {
  146. return this.itemList.size();
  147. }
  148. }
Add Comment
Please, Sign In to add comment