AdapterView.OnItemClickListener & OnItemLongClickListener

Posted by muchag | Android |
初回投稿:2011-03-31 (木) 21:17:03 | 最終更新:2011-03-31 (木) 21:43:41

OnClickListenerOnLongClickListener は、View クラスであるが、
これらは、AdapterView クラス。

OnClickListener や OnLongClickListener は、View そのものをクリックしたときのイベント。
Button や TextView をクリック。

OnItemClickListener や OnItemLongClickListener は、View の中のアイテムをクリックしたときのイベント。
ListView の中の TextView をクリック。
 

OnItemClickListener

abstract void | onItemClick(AdapterView parent, View view, int position, long id)

Android Developers:OnItemClickListener

第1引数:クリックされた View の親 View
第2引数:クリックされた View
第3引数:リストにおけるクリックされた View の場所?
第4引数:クリックされた行番号。0 スタート
 
[android]import android.app.Activity;
import android.widget.AdapterView;
import android.widget.ListView;

public class OnItemClickListenerTest extends Activity implements AdapterView.OnItemClickListener {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);

ListView listView = new ListView(this);
listView setOnItemClickListener(this); //リスト項目をタップしたときのリスナー
}

//ListView タップ処理
@Override
public void onItemClick(AdapterView parent, View view, int position, long id) {

ListView listView = (ListView) parent;
String name = (String) listView.getItemAtPosition(position);

// 処理
}
}[/android]  

OnItemLongClickListener

abstract boolean | onItemLongClick(AdapterView parent, View view, int position, long id)

Android Developers:OnItemLongClickListener

戻り値:bool 。不明。
第1引数:クリックされた View の親 View
第2引数:クリックされた View
第3引数:リストにおけるクリックされた View の場所?
第4引数:クリックされた行番号。0 スタート
 
[android]import android.app.Activity;
import android.widget.AdapterView;
import android.widget.ListView;

public class OnItemLongClickListenerTest extends Activity implements AdapterView.OnItemLongClickListener{
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);

ListView listView = new ListView(this);
listView OnItemLongClickListener(this); //リスト項目をタップしたときのリスナー
}

//ListView ロングタップ処理
@Override
public void onItemLongClick(AdapterView parent, View view, int position, long id) {

ListView listView = (ListView) parent;
String name = (String) listView.getItemAtPosition(position);

// 処理

return false; /* ここが OnItemClickListener と異なる */
}
}[/android] 戻り値はよくわからないので、ひとまず false にしてしまった・・・。

Posted by muchag | Android |
初回投稿:2011-03-31 (木) 21:17:03 | 最終更新:2011-03-31 (木) 21:43:41

ListView

Posted by muchag | Android,SQLite |
初回投稿:2011-03-31 (木) 1:20:06 | 最終更新:2011-03-31 (木) 16:06:32