2013-05-17 10 views
5

私はアンドロイドプログラミングの新しいです、少し問題があります 私はImageViewとTextViewでlistViewを作成したいと思います。このコードは動作しますが、実際に私はこのように前に作成された配列を使用したい: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

関連する問題