ListActivityを利用したリスト表示
今回は表示したリストビューをタッチした時のイベントを検出したいと思います
リストビューの選択を検出するには
OnItemClickListenerを使用します
これは指定したitemがクリックされたときに実行されるものでこれを
作成したリストビューに適用すれば、リストビューがクリックされた時に実行されます
また十字キーなどにより選択(セレクト)された時には
setOnItemSelectedListenerを使用します
今回はクリックやセレクトされたときにLogを出力するプログラムを作成してみます
MainActivity.java
package blog.test;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
private String[] mStrings ={ "test1", "test2", "test3", "test4" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//リストビューを作成
ListView lv = new ListView(this);
setContentView(lv);
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_list_item_1, mStrings);
lv.setAdapter(adapter);
//クリックイベントを検出
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView parent, View view,
int position, long id) {
//listViewを指定
ListView listView = (ListView) parent;
//クリックされたものを取得
String item = (String) listView.getItemAtPosition(position);
//Log出力
Log.v("tag", String.format("onItemClick: %s", item));
}
});
//セレクトされたときに実行される
lv.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView parent, View view,
int position, long id) {
//listViewを指定
ListView listView = (ListView) parent;
//クリックされたものを取得
String item = (String) listView.getSelectedItem();
Log.v("tag", String.format("onItemSelected: %s", item));
}
//何も選択さてないときに実行
public void onNothingSelected(AdapterView parent) {
Log.v("tag", "onNothingSelected");
}
});
}
}
初期画面は以前と変わりませんためしにtest1をクリックしてみると・・・
Log“onItemClick:test1”が出力されます
次に下キーでtest1をセレクトするとします
すると・・・
Log“onItemSelicted:test1”が出力されます
スポンサードリンク
【ウィジェット リストビューの最新記事】

