programing tip

arrays.xml 파일에서 문자열 배열을 얻는 방법

itbloger 2020. 8. 5. 07:55
반응형

arrays.xml 파일에서 문자열 배열을 얻는 방법


내에있는 배열에서 목록을 표시하려고합니다 arrays.xml. 에뮬레이터에서 실행하려고하면 강제 종료 메시지가 나타납니다.

Java 파일에서 배열을 정의하면

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

작동하지만 사용하면

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

작동하지 않습니다.

내 Java 파일은 다음과 같습니다.

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


}

여기 내 arrays.xml파일이 있습니다

<?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>

testArray응용 프로그램 리소스가 아직 준비되지 않았으므로이 방법으로 필드를 초기화 할 수 없습니다 .

코드를 다음과 같이 변경하십시오.

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

array.xml이 올바르지 않습니다. 이것을 이렇게 바꾸십시오

다음은 array.xml 파일입니다

<?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>

XML은 완전히 명확하지 않지만 배열 XML은 숫자를 지정하거나 공백을 정의하면 강제로 닫을 수 있습니다.

비 선행 또는 후행 공백으로 정의되어 있는지 확인하십시오.

참고URL : https://stackoverflow.com/questions/2453989/how-to-get-string-array-from-arrays-xml-file

반응형