2013-05-17 14 views
5

Hey ragazzi sono nuovo nella programmazione Android e ho un piccolo problema voglio creare un listView con un ImageView e un TextView. Questo codice funziona, ma in realtà ho voluto utilizzare le matrici che ho creato prima come questo:android utilizzando risorse di array xml

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" 
+0

È possibile utilizzare i colori in una matrice seguendo questo esempio: http://stackoverflow.com/a/17584066/560600 –

risposta

20

Creare un XML come qui sotto e metterlo in res/valori/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> 

Quindi utilizzare il codice come questo:

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

Fonte: http://developer.android.com/guide/topics/resources/more-resources.html

Problemi correlati