とりあえずダブルタップを取得してみる。
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 件のコメント:
コメントを投稿