Динамический вызов массивов из xml

251
05 марта 2017, 06:28

В xml-файле есть несколько массивов с номерами 0,1,2,3..., при нажатии на элемент ListView, считывается id нажатого item и значение передается в Intent , в новой Activity происходит заполнение нового ListView. Вопрос, как указать новому ListView, чтобы он загружал массив соответствующий id, полученному от Intent?

Answer 1

Для простого построения списков с константными значениями каждого списка и выбором текущего списка по некоторому номеру предлагаю такое простое решение:

Создаем необходимые списки с номерами в ресурсах (res/values/strings.xml):

<resources>
    <string-array name="a0">
        <item>One 1</item>
        <item>One 2</item>
    </string-array>
    <string-array name="a1">
        <item>Two 1</item>
        <item>Two 2</item>
    </string-array>
</resources>

Теперь код, который по полученому номеру (здесь переменная id) отобразит список с соответствующим индексом:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    int id = 1; // какой список отображать, здесь указываем на a1
    // получаем идентификатор на основе номера
    int idArray = getResources().getIdentifier( "a" + id, "array", getPackageName());
    // получаем значения по иденттификатору
    String[] array = getResources().getStringArray(idArray);
    ListView listview = (ListView) findViewById(R.id.listView);
    ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, array);
    listview.setAdapter(adapter);
}
READ ALSO
Чтение данных из файла в java

Чтение данных из файла в java

Если в фале в одной строке даны и символы и числа, как правильно считывать данные чтобы была возможность сохранить и int и char отдельноНапример...

250
PortScanner, зависает

PortScanner, зависает

Сделал PortScanner на Java с использованием Swing, но при указывании более 100 портов он зависает и не работает, как мне исправить это? Вот код:

272
Как тестировать Drag and Drop при помощи selenium?

Как тестировать Drag and Drop при помощи selenium?

С введением нашими разработчиками HTML5 drag and drop сортировки списка перестал работать метод dragAndDrop('#drag1', '#div2'); Используется selenium-server-standalone-253

329
Автоскрытие и показ панели навигации

Автоскрытие и показ панели навигации

ЗдравствуйтеНа андроид 4

326