2013-05-17 27 views
5

嘿傢伙我是新的android編程和有一點問題 我想用ImageView和TextView創建一個listView。此代碼的工作,但實際上,我想利用我之前創建這樣的數組:android使用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

您可以按照以下示例使用數組中的顏色:http://stackoverflow.com/a/17584066/560600 –

回答

20

創建XML像下面,並把它放在RES /價值/ 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> 

然後使用這樣的代碼:

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