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 スタート
 

  1. import android.app.Activity;
  2. import android.widget.AdapterView;
  3. import android.widget.ListView;
  4.  
  5. public class OnItemClickListenerTest extends Activity implements AdapterView.OnItemClickListener {
  6.     @Override
  7.     public void onCreate(Bundle icicle) {
  8.         super.onCreate(icicle);
  9.  
  10.         ListView listView = new ListView(this);
  11.         listView setOnItemClickListener(this); //リスト項目をタップしたときのリスナー
  12.     }
  13.  
  14.     //ListView タップ処理
  15.     @Override
  16.     public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  17.  
  18.         ListView listView = (ListView) parent;
  19.         String name = (String) listView.getItemAtPosition(position);
  20.  
  21.         // 処理
  22.     }
  23. }

 

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 スタート
 

  1. import android.app.Activity;
  2. import android.widget.AdapterView;
  3. import android.widget.ListView;
  4.  
  5. public class OnItemLongClickListenerTest extends Activity implements AdapterView.OnItemLongClickListener{
  6.     @Override
  7.     public void onCreate(Bundle icicle) {
  8.         super.onCreate(icicle);
  9.  
  10.         ListView listView = new ListView(this);
  11.         listView OnItemLongClickListener(this); //リスト項目をタップしたときのリスナー
  12.     }
  13.  
  14.     //ListView ロングタップ処理
  15.     @Override
  16.     public void onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
  17.  
  18.         ListView listView = (ListView) parent;
  19.         String name = (String) listView.getItemAtPosition(position);
  20.  
  21.         // 処理
  22.  
  23.         return false; /* ここが OnItemClickListener と異なる */
  24.     }
  25. }

戻り値はよくわからないので、ひとまず false にしてしまった・・・。

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

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment