android中数组的定义与施用

android中数组的定义与使用

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