반응형
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
반응형
'programing tip' 카테고리의 다른 글
람다를 사용하여 여러 열로 그룹화 (0) | 2020.08.05 |
---|---|
requestAnimationFrame으로 fps를 제어합니까? (0) | 2020.08.05 |
장고와 두 날짜 중에서 선택 (0) | 2020.08.05 |
jQuery를 사용하여 동적으로 onClick 이벤트 추가 (0) | 2020.08.05 |
ReactJS 코드에서 휴식 후 전화를 거는 방법? (0) | 2020.08.05 |