Я хочу, чтобы один ListView имел 2 разных столбца 'label' и 'values' в Android Studio 3.4.2 с использованием Java - PullRequest
0 голосов
/ 21 сентября 2019

У меня есть климат для определенного города, который я хочу отобразить в ListView.Если я добавлю их обоих в одну строку, а затем добавлю их в ListView с помощью адаптера массива, то потеряю отступ.

Например,

Температура: 20 градусов C

Восход: 06: 39

Часовой пояс: GMT + 05: 30

и т. Д.

Первый ArrayList - это метки, а второй ArrayList - это detWeatherInfo.

У меня естьпопробовал StringBuilder строитель.builder.append ("");пока строка меток не будет определенной длины (скажем, 20), но из-за разного пространства, занимаемого различными алфавитами, она также не работает.

Температура: 20 градусов C

Восход солнца: 06: 39

Часовой пояс: GMT + 05: 30

(я хотел все ":" ниже друг друга и в некотором пространстве после окончания строки метки)

Следовательно, я попробовал 2 разныхListViews.Но когда количество строк превышает размер экрана, два ListView прокручиваются по отдельности, и поэтому я теряю значение из соответствующего имени метки.

Я также пытался,

ArrayList <Hashmap<String,String>> combined = new ArrayList 
<Hashmap<String,String>>();

Hashmap <String,String> map = new Hashmap <String,String>();

затем

for(int i=0;i<detWeatherInfo.size();i++)
{
      map.put(labels.get(i),detWeatherInfo.get(i));
}

combined.add(map);

arrayAdapter=new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1,combined);

, но этот arrayAdapter не принимает значение объединенного ArrayList.

Текущий код:

      ArrayAdapter<String> arrayAdapter=new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1,labels);

                    listView1.setAdapter(arrayAdapter);

                    listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                        @Override
                        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                        }
                    });

                    arrayAdapter=new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1,detWeatherInfo);

                    listView2.setAdapter(arrayAdapter);

                    listView2.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                        @Override
                        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                        }
                    });

Я хочу, чтобы вывод находился в 2 разных столбцах в одном ListView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...