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的引用