--/--/--(--)


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
コメント(-) | トラックバック(-) | --:--:--

2010/10/15(金)


ボタンなどのViewコンポーネントがクリックされたときのイベント処理を行いたい場合は、Viewのイベントリスナーを実装します。クリックに関連するイベントには、以下の3つのリスナーが用意されています。

・View.OnClickListener (クリックしたときに呼ばれる)
・View.OnLongClickListener (長押ししたときに呼ばれる)
・View.OnTouchListener (画面をタッチしたときに呼ばれる)

1回のクリックで、それぞれ以下の順番で呼び出されます。

1) View.OnTouchListener.onTouch(); (押された)
2) View.OnLongClickListener.onLongClick(); (長押しされた)
3) View.OnTouchListener.onTouch(); (離れた)
4) View.OnClickListener.onClick(); (クリックされた)

2)は長押しされた場合にのみ呼び出されます。

import android.app.Activity;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
 
public class MyClass extends Activity{
 
 public void myMethod(){
  Button btn = (Button)this.findViewById(R.id.myButton);
 
  // タッチイベント
  // ボタンを押すとACTION_DOWN、離すとACTION_UPが発生
  btn.setOnTouchListener(new View.OnTouchListener(){
   public boolean onTouch(View v,MotionEvent event){
    int action = event.getAction();
    switch(action){
     case MotionEvent.ACTION_DOWN: // 押す
     case MotionEvent.ACTION_UP: // 離す
    }
 
    // trueにすると以下のOnLongClickやOnClickが呼ばれない
    return false;
   }
  });
 
  // 長押しイベント
  btn.setOnLongClickListener(new View.OnLongClickListener(){
   public boolean onLongClick(View v){
    // trueにすると以下のOnClickが呼ばれない
    return false;
   }
  });
 
  // クリックイベント
  btn.setOnClickListener(new View.OnClickListener(){
   public void onClick(View v){
   }
  });
 }
}

コメント(0) | トラックバック(0) | 12:27:44
コメントを書く

管理者にだけ表示を許可する
トラックバック:0 - http://genmaicha460.blog27.fc2.com/tb.php/36-62338a90

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。