2013-05-17 30 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