Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class DishesActivity extends AppCompatActivity {
- private GridLayoutManager lLayout;
- public static final String categoryIdField = "categoryId";
- private static RealmResults<Dish> dishes;
- private Realm realm;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_dishes);
- //настройка REALM
- realm = Realm.getDefaultInstance();
- lLayout = new GridLayoutManager(DishesActivity.this, 2);
- Intent intent = getIntent();
- int categoryId = intent.getIntExtra(CategoryId, 0);
- dishes = realm.where(Dish.class).equalTo(categoryIdField, categoryId).findAll();
- initRecyclerView();
- }
- public void initRecyclerView() {
- //отображаем данные в RecyclerView
- RecyclerView rView = (RecyclerView)findViewById(R.id.recycler_view_dishes);
- rView.setHasFixedSize(true);
- rView.setLayoutManager(lLayout);
- RecyclerViewDishAdapter rcAdapter = new RecyclerViewDishAdapter(DishesActivity.this, dishes);
- rView.setAdapter(rcAdapter);
- }
- public static RealmResults<Dish> getDishes() {
- return dishes;
- }
- }
- public class DishActivity extends AppCompatActivity {
- private ImageView imageView;
- private TextView textViewRu;
- private Context context;
- private RealmResults<Dish> dishes;
- private Realm realm;
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_dish);
- imageView = (ImageView) findViewById(R.id.dishImageView);
- textViewRu = (TextView) findViewById(R.id.textViewRu);
- Intent intent = getIntent();
- int dishIntentId = intent.getIntExtra(CategoryId, 0);
- context = getApplicationContext();
- //настройка REALM
- realm = Realm.getDefaultInstance();
- dishes = DishesActivity.getDishes();
- textViewRu.setText(dishes.get(dishIntentId).getTitleRu());
- Glide.with(context).load(dishes.get(dishIntentId).getImgUrl()).into(imageView);
- Toolbar dishToolBar = (Toolbar) findViewById(R.id.dish_toolbar);
- setSupportActionBar(dishToolBar);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- getSupportActionBar().setDisplayShowHomeEnabled(true);
- getSupportActionBar().setTitle(dishes.get(dishIntentId).getTitleRu());
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- int id = item.getItemId();
- if(id == android.R.id.home) {
- this.finish();
- }
- return super.onOptionsItemSelected(item);
- }
- }
- public class RecyclerViewDishHolders extends RecyclerView.ViewHolder implements View.OnClickListener {
- public TextView titleRu;
- public TextView titleEng;
- public ImageView categoryImage;
- private Context context;
- public static final String DISH_ID = "DISH_ID";
- public RecyclerViewDishHolders(View itemView) {
- super(itemView);
- itemView.setOnClickListener(this);
- titleRu = (TextView)itemView.findViewById(R.id.textViewTitleRu);
- titleEng = (TextView)itemView.findViewById(R.id.textViewTitleEng);
- categoryImage = (ImageView)itemView.findViewById(R.id.imageViewCategory);
- categoryImage.setAdjustViewBounds(true);
- context = itemView.getContext();
- }
- @Override
- public void onClick(View view) {
- int itemViewPosition = getAdapterPosition();
- Toast.makeText(view.getContext(), "Clicked Dish Position = " + itemViewPosition, Toast.LENGTH_SHORT).show();
- Intent intent = new Intent(context, DishActivity.class);
- intent.putExtra(DISH_ID, itemViewPosition);
- context.startActivity(intent);
- }
- }
- public class RecyclerViewDishAdapter extends
- RecyclerView.Adapter<RecyclerViewDishHolders> {
- private List<Dish> itemList;
- private Context context;
- public RecyclerViewDishAdapter(Context context, List<Dish> itemList) {
- this.itemList = itemList;
- this.context = context;
- }
- @Override
- public RecyclerViewDishHolders onCreateViewHolder(ViewGroup parent, int viewType) {
- View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.category_view_list, null);
- RecyclerViewDishHolders rcv = new RecyclerViewDishHolders(layoutView);
- return rcv;
- }
- @Override
- public void onBindViewHolder(RecyclerViewDishHolders holder, int position) {
- holder.titleRu.setText(itemList.get(position).getTitleRu());
- holder.titleEng.setText(itemList.get(position).getTitleEng());
- Glide.with(context).load(itemList.get(position).getImgUrl()).into(holder.categoryImage);
- }
- @Override
- public int getItemCount() {
- return this.itemList.size();
- }
- }
Add Comment
Please, Sign In to add comment