スポンサーサイト

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

Android: ListViewの使い方2

普段はActivityから派生させてると思いますが、ListActivityというものから派生できることを知りました。
これだと、とてもスッキリとリストビューがつくれます。


1.プロジェクトの新規作成
新規でAndroidのプロジェクトを作ります。
ちなみに、以下のサンプルソースは、
・アプリケーション名:TestListView
・パッケージ名:com.fxscore.testlistivew
・アクティビティ名:TestlistviewActivity
・SDKバージョン:8
・ターゲット:Android2.2
で作っています。

2.main.xmlのレイアウト変更

まず、レイアウト(res->layout->main.xml)を、以下のようにします。


android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:layout_width="match_parent"
android:layout_height="match_parent" />


の部分を追加するってことです。

3.プログラムの修正
派生元を、ActivityからListActivityに変更します。

public class TestListViewActivity extends ListActivity {

赤波線が出ると思うので、その時はライブラリをインポートしましょう。

次に、リストに文字列を登録する部分を追加します。
「setContentView・・・」の下に、以下のソースを追加してください。

ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1);
adapter.add("aaa");
adapter.add("bbb");
adapter.add("ccc");
setListAdapter(adapter);

以上で、リストビューが完成です。

4.(蛇足)クリックしたら、、、の挙動
3まででリストに文字列が表示されますが、「リストをクリックすると何かする」という場合は、以下のようなコマンドを追記します。
これを追記すると、「リストをクリックしたら、その項目名がトースト(ぼーっと文字が出てくる、中途半端なダイアログボックスみたいなやつ)される」という動きをするようになります。

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
TextView textView = (TextView)v;
Toast.makeText(this, textView.getText().toString(), Toast.LENGTH_LONG).show();
}


全体のソースコードは、以下のとおりです。


※ 蛇足 ※
ごく一般的な日本の会社のサラリーマンですが(しかも長年)、ココに書いてる日本語が、社内用語のような非常に堅い文章になってるのに、気づく。。。


/*-------------------------------------------*/
/*--- Sample Program ------------------------*/
/*-------------------------------------------*/
package com.fxscore.testlistview;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class TestListViewActivity extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1);
adapter.add("aaa");
adapter.add("bbb");
adapter.add("ccc");
setListAdapter(adapter);

}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
TextView textView = (TextView)v;
Toast.makeText(this, textView.getText().toString(), Toast.LENGTH_LONG).show();
}

}



※ 参考にさせていただいたページ
https://sites.google.com/site/chobimemo/android/listview/listview0


スポンサーサイト

トラックバック

コメント

コメントを残す

Secret



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