とりあえずダブルタップを取得してみる。
import java.util.ArrayList; import java.util.List; import android.app.ListActivity; import android.os.Bundle; import android.util.Log; import android.view.GestureDetector; import android.view.View; import android.view.GestureDetector.SimpleOnGestureListener; import android.view.MotionEvent; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; public class AndroidListViewTestActivity extends ListActivity implements OnItemClickListener { private GestureDetector gestureDetector; private View.OnTouchListener gestureListener; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); gestureDetector = new GestureDetector(new MyGestureDetector()); gestureListener = new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { return gestureDetector.onTouchEvent(event); } }; getListView().setOnItemClickListener(this); getListView().setOnTouchListener(gestureListener); List<BindData> list = new ArrayList<BindData>(); // ここにlistに項目を追加する処理が入る list.add(new BindData("タイトル0", null, null)); list.add(new BindData(null, "line1-1", "line1-2")); for (int i = 1; i < 10; i++) { list.add(new BindData("タイトル" + i, null, null)); list.add(new BindData(null, "line2-1", "line2-2")); list.add(new BindData(null, "line2-12", "line2-22")); } MyAdapter adapter = new MyAdapter(this, list); setListAdapter(adapter); } public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO 自動生成されたメソッド・スタブ Log.i("TAG", "::" + "リストがタッチされた2" ); } class MyGestureDetector extends SimpleOnGestureListener { @Override public boolean onDoubleTap(MotionEvent event) { Log.d("TAG", "ダブルタップが発生した。"); return super.onDoubleTap(event); } } }
07-22 05:06:34.806: D/TAG(13681): ダブルタップが発生した。 07-22 05:06:34.937: I/TAG(13681): ::リストがタッチされた2
0 件のコメント:
コメントを投稿