スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ListViewの使い方

ListViewの使い方


CodeZineのサイトを参照しながら、Androidアプリ開発の勉強をしています。しかし、ListViewの使い方がイマイチ良く分からないので、調べてみた。


まずはコンストラクタの調査。これはJavaDriveさんの「ListViewクラスの定義とコンストラクタ」記事が参考になります。ただし、Eclipse上でレイアウトを作成する場合は、ListViewのコンストラクタを使用することはあまりないため、まずはスキップします。


次にListViewの使い方を調査します。これもJavaDriveさんの「ArrayAdapterクラスを使ってリストのデータを登録」記事が参考になります。記事によると、ListViewでデータを表示するためには、「setAdapter」メソッドを使用するようです。引数には、android.widget.ListAdapterインターフェースを実装したクラスのオブジェクトを利用するそうで、とりあえずはArrayAdapterクラスを実装して渡す例が掲載されています。


そうすると、ArrayAdapterとは何か、が気になりますが、これもJavaDriveさんの記事に記載があります。それによると、


  • ArrayAdapter(Context context, int resource)
  • ArrayAdapter(Context context, int resource, T[] objects)
  • ArrayAdapter(Context context, int resource, List objects)


という三つのコンストラクタの定義があります。第一引数にはthis、すなわち自分自身を指定します(本来的にはContextクラスのオブジェクト、という決まりがあるそうですが・・・)。第二引数はリソースとして登録されたTextView・・・具体的にはListViewでデータを表示するときに、ここで指定したリソースに対応するXMLファイルが参照される様子。分かりやすいような、分かりにくいような・・・。第三引数は表示したいデータの配列を指定します。これは、任意の引数となり、ArrayAdapterのコンストラクタで指定しなくても良く、後でArrayAdapterクラスのaddメソッドで追加することもできるらしい。


以上のようにしてArrayAdapterクラスのオブジェクトを生成して、ListViewクラスのsetAdapterメソッドの引数として渡すと、ArrayAdapterに設定したデータがListViewとして表示されるようです。




ここまでの作業をまとめると、以下のような感じでListViewのサンプルアプリを作成できます。


新規プロジェクトの作成


Eclipseを開いて、「File」→「New」→「Android Project」。設定は以下の通り。



  • Project Name:SampleListView

  • Build Target:Android 1.6

  • Application Name:Sample List View

  • Package Name:ja.sample.SampleListView

  • Create Activity:SampleListView


レイアウトの編集


res/layout/main.xmlファイルを開いて、ListViewをLinearLayoutの中に作成します(デフォルトであるTextViewは削除)。main.xmlファイルの中身は以下。




<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>


<ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ListViewSample"></ListView>
</LinearLayout>



ListViewにデータを表示する際に使用するXMLファイル


Eclipseの左側にあるres/layout/フォルダ上で右クリックして、「New」→「Android XML File」を選択。以下の設定を行って「Finish」ボタンをクリック。注意点としては、ファイル名に英字の大文字(A~Z)は使用できないということ。



  • File:listview.xml

  • Select the root element for the XML file:TextView


作成したら、とりあえずそのままでOK。


コードの作成


SampleListView.javaファイルに追加コーディングします。




package ja.sample.SampleListView;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class SampleListView extends Activity {
private ListView listView = null;
private String[] data = {"File", "Edit", "Run", "Source", "Navigate"};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// ListViewを取得
listView = (ListView)findViewById(R.id.ListViewSample);
// ArrayAdapterクラスのオブジェクトを作成
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String> (this, R.layout.listview, data);
// ArrayAdapterクラスのオブジェクトをListViewに設定
listView.setAdapter(arrayAdapter);
}
}



実行


これで作成は完了。後は、Eclipseからエミュレータを起動して実行します。実行結果は以下。


SampleListView

これで完成。まだ、各項目をクリックしても何の反応もしないので、そのあたりは今後。

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

sepiablue

Author:sepiablue
組込みソフトウェアエンジニアやってます。普段はC言語使い。
趣味はプログラミング、京都旅行で神社巡り。
AndroidアプリをMacで開発中。

最新記事
スポンサードリンク
スポンサードリンク
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。