Activity.onTouchEvent()
メソッドでいくつかのB.logicを実行します。 TextView
などのクリックできないビューでは問題なく動作しています。しかし、それはButton
をクリックして呼び出されることはありません。しかし私はそれも必要です。ボタンのクリック中にアクティビティのonTouchEvent()が呼び出されていない
ここにコードがあります。
public class MainActivity extends Activity {
private static final String TAG = MainActivity.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "Oh shit!! click performed... :(", Toast.LENGTH_LONG).show();
}
});
}
@Override
public boolean onTouchEvent(MotionEvent event) {
Log.d(TAG, "ssssssssssssssssssssssss:touch");
return super.onTouchEvent(event);
}
public boolean dispatchTouchEvent(MotionEvent event) {
int eventaction=event.getAction();
switch(eventaction) {
case MotionEvent.ACTION_MOVE:
break;
default:
break;
}
return super.dispatchTouchEvent(event);
}
}
ここから整理すると助けてください。
を:
はボタンに追加しますその下の意見のいずれかによって」。あなたのボタンはタッチイベントを消費/処理するため、アクティビティはコールを受信していません。 TextViewはclickイベントを消費していません。あなたが目にしているのは期待される行動でしょう。 – greg7gkb
Activity.dispatchTouchEvent()メソッドを処理して、以下のソリューションを追加しました。 – Noundla