2010-03-16 22 views
86

Arrays.xml dosyasında bulunan bir diziden bir liste görüntülemeye çalışıyorum. Emülatörde çalıştırmayı denediğimde, bir güç kapatma mesajı alıyorum. Ben java dosyasıArrays.xml dosyasından String Dizisi almayla ilgili yardım

String[] testArray = new String[] {"one","two","three","etc"};

çalıştığını içinde dizi tanımlarsanız, ama

String[] testArray = getResources().getStringArray(R.array.testArray);

kullandığınızda

işe yaramazsa. uygulama kaynaklarını hala olmadığından, İşte

package com.xtensivearts.episode.seven; 

import android.app.ListActivity; 
import android.os.Bundle; 
import android.widget.ArrayAdapter; 

public class Episode7 extends ListActivity { 
String[] testArray = getResources().getStringArray(R.array.testArray); 

/** Called when the activity is first created. */ 
@Override 
protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 

    // Create an ArrayAdapter that will contain all list items 
    ArrayAdapter<String> adapter; 

    /* Assign the name array to that adapter and 
    also choose a simple layout for the list items */ 
    adapter = new ArrayAdapter<String>(
    this, 
    android.R.layout.simple_list_item_1, 
    testArray); 

    // Assign the adapter to this ListActivity 
    setListAdapter(adapter); 
} 


} 

benim arrays.xml dosyası Sen testArray alanı bu şekilde başlatılamıyor

<?xml version="1.0" encoding="utf-8"?> 
    <resources> 
    <array name="testArray"> 
    <item>first</item> 
    <item>second</item> 
    <item>third</item> 
    <item>fourth</item> 
    <item>fifth</item> 
    </array> 
    </resources> 

cevap

171

: Burada

benim Java dosyasıdır hazır.

Sadece kodunu değiştirin:

package com.xtensivearts.episode.seven; 

import android.app.ListActivity; 
import android.os.Bundle; 
import android.widget.ArrayAdapter; 

public class Episode7 extends ListActivity { 
    String[] mTestArray; 

    /** Called when the activity is first created. */ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // Create an ArrayAdapter that will contain all list items 
     ArrayAdapter<String> adapter; 

     mTestArray = getResources().getStringArray(R.array.testArray);  

     /* Assign the name array to that adapter and 
     also choose a simple layout for the list items */ 
     adapter = new ArrayAdapter<String>(
      this, 
      android.R.layout.simple_list_item_1, 
      mTestArray); 

     // Assign the adapter to this ListActivity 
     setListAdapter(adapter); 
    } 
} 
+1

olduğunu! Yardımlarınız ve açıklamalarınız için çok teşekkür ederim. Yeni başlayan olmanın açıklamalarına ihtiyacım var! – Soren

+0

Günümü kurtardım! Teşekkürler! : D – borislemke

+0

Ayrıca, dizilerde "-" seçeneğinin kullanılmasına izin verilmez. Eclipse beni uyarmadı, xml dosyası iyi görünüyordu ve bu sorunun nedeninin gerçekleştiğinin farkına varmam biraz zaman aldı. "_" İyi çalışmak. – Lesik2008

2

XML'niz tam olarak belli değil, ancak diziler XML bunları numaralar yaparsanız kuvvet kapanır neden olabilir ve/veya bunların tanımında beyaz boşluk koydu.

onlar hiçbir önünde veya sonunda boşluk

24

Kişisel array.xml gibi tanımlanmış olduğundan emin olun doğru değil. o İşte bu

sevmeye değiştirmek array.xml dosya yaptım

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string-array name="testArray"> 
     <item>first</item> 
     <item>second</item> 
     <item>third</item> 
     <item>fourth</item> 
     <item>fifth</item> 
    </string-array> 
</resources> 
+0

Bu alanın Etkinlik bağlamından önce başlatıldığını ve kaynakların başlatıldığını çözmezdim. –

İlgili konular