android中数组的定义
可以直接在JAVA代码中声明,也可以在res->values目录下新建一个xml文件,作为数组资源进行声明
字符数组可以有如下2种声明方式String[]或者是List<String>
代码如下:
package com.example.listviewpractice;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.app.Activity;
import android.content.res.Resources;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
private static final String[] str={"one","two","three"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
ListView lv=new ListView(this);
Resources res=this.getResources();
String[] str1=res.getStringArray(R.array.array);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
/*getData()*/
/*R.array.array*/
/*str*/
str1
);
lv.setAdapter(adapter);
setContentView(lv);
}
public List<String> getData()
{
List<String> list=new ArrayList<String>();
list.add("item1");
list.add("item2");
list.add("item3");
return list;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
R.array.array在res->values->array.xml文件中声明
文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<string-array name="array">
<item>item1</item>
<item>item2</item>
<item>item3</item>
</string-array>
</resources>
在java文件中通过Resource对象获得对R.array.array的引用