Android читает текстовый файл в Spinner на элементеВыбрано - PullRequest
0 голосов
/ 28 октября 2018

В настоящее время я практикую приложение, в котором пользователь нажимает одну из трех кнопок (супергерой, действие, анимация) и запускает второе действие, в котором отображаются элементы на основе выбранного тега кнопки.У меня есть два счетчика: первый показывает фильмы, а второй показывает время показа этого фильма.

И у меня есть внешний текстовый файл, который выглядит примерно так:

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) {

        }
    });

Скриншоты:

enter image description here

enter image description here

...