- Home ›
- Android入門 ›
- ArrayAdapterクラス ›
- HERE
Stringクラスの配列を使ったArrayAdapter
Stringクラスの配列として用意されたデータを使ってArrayAdapterクラスのオブジェクトを作成する手順を見ていきます。
まずデータを用意します。今回はStringクラスのデータを扱いますのでStringクラスの配列を用意します。
String[] data = {"Apple", "Lemon", "Orange", "Strawberry"};
1番目の引数に表示するBitmapクラスのオブジェクトを指定します。(Bitmapクラスについては「Bitmapクラス」を参照して下さい)。
次にデータを表示する時に使用されるTextViewをレイアウトXMLファイルとして定義します。今回「Test02_01」と言うプロジェクトを作成し、プロジェクト内の「res/layout」内に「rowdata.xml」と言うファイルを作成しました。ファイルの中身は次のようなものです。
<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" />
これらを使って「ArrayAdapter」クラスのオブジェクトを作成します。
String[] data = {"Apple", "Lemon", "Orange", "Strawberry"}; ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.rowdata, data);
以上で「ArrayAdapter」クラスのオブジェクトが作成できました。
サンプルプログラム
それでは実際に試してみます。プロジェクトを作成しソースコードを次のように変更しました。
package jp.javadrive.android; import android.app.Activity; import android.os.Bundle; import android.widget.LinearLayout; import android.view.ViewGroup; import android.widget.ListView; import android.widget.ArrayAdapter; public class Test02_01 extends Activity { private final int FP = ViewGroup.LayoutParams.FILL_PARENT; private final int WC = ViewGroup.LayoutParams.WRAP_CONTENT; private String[] data = {"Apple", "Lemon", "Orange", "Strawberry"}; @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); LinearLayout linearLayout = new LinearLayout(this); linearLayout.setOrientation(LinearLayout.HORIZONTAL); setContentView(linearLayout); ListView list = new ListView(this); linearLayout.addView(list, createParam(WC, WC)); ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.rowdata, data); list.setAdapter(arrayAdapter); } private LinearLayout.LayoutParams createParam(int w, int h){ return new LinearLayout.LayoutParams(w, h); } }
またレイアウトXMLファイルをリソースとしてプロジェクト内の「res/layout」ディレクトリに配置しました。
ビルド後にエミュレーター上で実行します。
今回は「ArrayAdapter」クラスのオブジェクトを使ってStringクラスのデータを「ListView」クラスへ渡しています。
( Written by Tatsuo Ikura )