Intereting Posts
Geting события касания (координаты, MotionEvents, ect.) В службе Можно ли использовать iBeacon для передачи данных через bluetooth в iOS – Android? Удаленный выход gdb для Android мучительно медленный Как перенести существующую Java-программу на Android? (Что импортировать) Android – Tabhost работает в классе Activity Создание игры в LibGDX с столкновением и гравитацией без использования Box2D «Проверить обновление» не работает в андроид-студии Отображать многострочные / несколько символов в качестве метки клавиш на клавишах мягкой клавиатуры Приложение сбой при использовании карты Google в фрагменте Разделить GIF на фреймы Загрузка URL-адреса внутри TXT в Webview Опубликовать данные с помощью пользовательских вкладок Chrome Android: перечисление кнопок на геймпаде Android Maps: Не удалось загрузить карту. Не удалось связаться с серверами Google. Размещение / Перекрытие (z-index) вид над другим представлением в android

Android с использованием ресурсов массива xml

Привет, ребята, я новичок в программировании для Android и имею небольшую проблему. Я хочу создать listView с ImageView и TextView. Этот код работает, но на самом деле я хотел использовать массивы, которые я создал раньше:

int[] img = getResources().getIntArray(R.Array.img); 
 package com.simplelistviewwithlistactivity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.ListActivity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.ListView; public class ListActivityS extends ListActivity { int[] img = { R.drawable.r1, R.drawable.r2, R.drawable.skycubemap1, R.drawable.skycubemap1, R.drawable.skycubemap2, R.drawable.skycubemap3, R.drawable.skycubemap4, R.drawable.skycubemap5 }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getListView().setDividerHeight(2); getListView().setAdapter(new BindDataAdapter(this, img, item)); } @Override protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); Builder builder = new AlertDialog.Builder(this); builder.setMessage(item[position] + " is clicked."); builder.setPositiveButton("OK", null); builder.show(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_list, menu); return true; } private String item[] = { "This is list Item1", "This is list Item2", "This is list Item3", "This is list Item4", "This is list Item5", "This is list Item6", "This is list Item8", "This is list Item8" 

Создайте XML, как показано ниже, и поместите его в res / values ​​/ arrays.xml

 <?xml version="1.0" encoding="utf-8"?> <resources> <array name="icons"> <item>@drawable/home</item> <item>@drawable/settings</item> <item>@drawable/logout</item> </array> <array name="colors"> <item>#FFFF0000</item> <item>#FF00FF00</item> <item>#FF0000FF</item> </array> </resources> из <?xml version="1.0" encoding="utf-8"?> <resources> <array name="icons"> <item>@drawable/home</item> <item>@drawable/settings</item> <item>@drawable/logout</item> </array> <array name="colors"> <item>#FFFF0000</item> <item>#FF00FF00</item> <item>#FF0000FF</item> </array> </resources> 

Затем используйте следующий код:

 Resources res = getResources(); TypedArray icons = res.obtainTypedArray(R.array.icons); Drawable drawable = icons.getDrawable(0); TypedArray colors = res.obtainTypedArray(R.array.colors); int color = colors.getColor(0,0); 

Источник: http://developer.android.com/guide/topics/resources/more-resources.html