Заполнение представлений массивом
Я новичок в Android. Я нашел этот код в своей книге, из которой я учусь. Это не объяснено должным образом, я создал класс java Drink, а затем использовал drinks[]в своей деятельности. На кнопку он передает идентификатор выбранного массива в другой деятельности с помощью намерения. Теперь в этом другом действии я хочу отобразить имя напитка изображение и описание, которые мы сохранили в массиве я понял, что мы сохранили идентификатор массива в объекте класса напитков, но почему мы использовали методы геттера, чтобы получить имя, описание и изображение. Они не связаны с массивом? У них внутри нет кода? Тогда что же происходит на самом деле
может кто-нибудь объяснить?
Напитки.код класса java
Class Drinks { private String name ; private String description ; private int rid ; public static final Drinks[] drinks = { new Drinks("Latte", "A couple of espresso shots with steamed milk", R.drawable.latte), new Drinks("Cappuccino", "Espresso, hot milk, and a steamed milk foam", R.drawable.cappuccino), new Drinks("Filter", "Highest quality beans roasted and brewed fresh", R.drawable.filter) }; public Drinks(String name, String description, int rid) { this.name = name; this.description = description; this.rid = rid; } public String getName() { return name; } public String getDescription() { return description; } public int getRid() { return rid; } }
Код активности, где я использую напитки[] и передаю свой идентификатор
listDrinks = findViewById(R.id.listDrinks); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1 ,Drinks.drinks); listDrinks.setAdapter(adapter); listDrinks.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent intent = new Intent(Main2Activity.this , Main3Activity.class); intent.putExtra("id",id); startActivity(intent); } });
-------------------------------------------------------
Другое действие где я передаю идентификатор массива и использую методы геттера для установки имени описания и изображения для отображения
textView = findViewById(R.id.textname); text_description = findViewById(R.id.text_description); imageView = findViewById(R.id.photo); Intent intent= getIntent(); int drinkId = Integer.parseInt(intent.getStringExtra("id")); Drinks d = Drinks.drinks[drinkId]; textView.setText(d.getName()); text_description.setText(d.getDescription()); imageView.setImageResource(d.getRid()) ;
Что я уже пробовал:
я не могу понять эту концепцию, так как конструктор устанавливает совершенно другие значения.