Моя цель - создать ListView, который содержит слово, за которым следует некоторое число. Теперь для этого списка длина слова варьируется от записи к записи, но каждое число должно быть точно такой же ширины.
Вот пример желаемого вывода (в командной строке):
Естественно, для этой проблемы первое, что приходит на ум, - это просто использовать String.format для правильного заполнения нужного количества пробелов в каждом слове, но это не совсем дает правильный вывод.
Вроде так:
ArrayList<String> arr = new ArrayList<>();
arr.add(String.format("%-10s", "aaaaaa") + "10");
arr.add(String.format("%-10s", "aa") + "10");
arr.add(String.format("%-10s", "asdkaosds") + "10");
arr.add(String.format("%-10s", "aaaaaaaaaa") + "10");
ArrayAdapter<String> itemsAdapter = new ArrayAdapter<(this,android.R.layout.simple_list_item_1,arr);
ListView listView = findViewById(R.id.answers);
listView.setAdapter(itemsAdapter);
Выход:
Простая замена пробелов звездочками показывает, что было добавлено соответствующее количество пробелов
arr.add(String.format("%-10s", "aaaaaa").replace(' ','*') + "10");
arr.add(String.format("%-10s", "aa").replace(' ','*') + "10");
arr.add(String.format("%-10s", "asdkaosds").replace(' ','*') + "10");
arr.add(String.format("%-10s", "aaaaaaaaaa").replace(' ','*') + "10");
Вывод:
Единственное другое логическое объяснение состоит в том, что длина каждого символа варьируется.
Итак, мой вопрос:
Как мне решить эту проблему?