我只是想从我的数组中显示一个列表arrays.xml.当我尝试在模拟器中运行它时,我收到强制关闭消息.
如果我在java文件中定义数组
String[] testArray = new String[] {"one","two","three","etc"};
Run Code Online (Sandbox Code Playgroud)
它有效,但是当我使用时
String[] testArray = getResources().getStringArray(R.array.testArray);
Run Code Online (Sandbox Code Playgroud)
它不起作用.
这是我的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 …Run Code Online (Sandbox Code Playgroud) 下面是我检索字符串数组项的代码:
String[] menuArray;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ScrollView sv = new ScrollView(this);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
sv.addView(ll);
// Create an ArrayAdapter that will contain all list items
ArrayAdapter<String> adapter;
menuArray = getResources().getStringArray(R.array.menu);
for(int i = 0; i < menuArray.length; i++)
{
Button b = new Button(this);
b.setText(menuArray[i]);
ll.addView(b);
}
this.setContentView(sv);
}
Run Code Online (Sandbox Code Playgroud)
这是strings.xml文件:
<string-array name="menu">
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)
但是,编译此问题的R.array.menu:从ADT 14开始,资源字段不能用作切换案例.调用此修复程序以获取更多信息.