В настоящее время я практикую приложение, в котором пользователь нажимает одну из трех кнопок (супергерой, действие, анимация) и запускает второе действие, в котором отображаются элементы на основе выбранного тега кнопки.У меня есть два счетчика: первый показывает фильмы, а второй показывает время показа этого фильма.
И у меня есть внешний текстовый файл, который выглядит примерно так:
Mission Impossible: Fallout| 6.6| 148| Tom Cruis, Henry Carvill| 11:00 am, 1:10 pm, 2:55 pm, 3:05 pm, 5:10 pm| mifallout.jpg
The Predator| 5.8| 118| Olivia Munn, Boyd Holbrook| 1:10 pm, 2:50 pm, 4:55 pm, 6:55 pm| predator.jpg
Затем япрочитайте файл построчно и сохраните его в массив, заполнив первый счетчик:
String receiveTag = getIntent().getExtras().getString("btnTag");
if (receiveTag.equals("SUPERHERO")) {
try{
bufferedReader = new BufferedReader(new InputStreamReader(this.getAssets().open("movie_superhero.txt")));
while ((sMovies = bufferedReader.readLine())!=null) {
if (!sMovies.equals("")) {
arrMovies = sMovies.split("\\|");
list.add(arrMovies[0].toString());
listTime.add(arrMovies[4].toString());
}
}
} catch (IOException e) {
e.printStackTrace();
}
dataAdapter = new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item, list);
dataAdapter.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
Теперь дело даже в том, что я сохранил детали фильма в arrMovies, я не смог заставить его обновить текст, когда он выбран, итакже установка второго счетчика, который показывает время показа фильма (listTime.add (arrMovies [4] .toString ());)
Ниже приведена моя попытка установить вид текста на основе выбранного элемента первого счетчика..
//Showtime
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
String item = adapterView.getItemAtPosition(i).toString();
Toast.makeText(adapterView.getContext(), "Selected: " + item, Toast.LENGTH_LONG).show();
ratingText.setText(arrMovies[1].toString());
durationText.setText(arrMovies[2].toString());
castText.setText(arrMovies[3].toString());
adapterTime = new ArrayAdapter<String>(mContext, R.layout.support_simple_spinner_dropdown_item, listTime);
adapterTime.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);
spinner2.setAdapter(adapterTime);
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
Скриншоты: