2016-05-05 16 views
0

私はAndroidが初めてで、これを把握していない、または動作する解決策を見つけることができませんでした。タッチリスナーがタッチからタッチスイッチにタッチが表示されない

ユーザーがMotionEvent.ACTION_DOWNから画面を押したときに2番目のアクティビティに切り替えることができました。ユーザーが指を離したときに2番目のアクティビティをすぐに3番目のアクティビティに切り替えるようにします2番目のアクティビティのタッチリスナは、ユーザが指を持ち上げてからもう一度押してから2回目に持ち上げるまで応答しません。

非常に簡単なコード

public class BlueActivity extends AppCompatActivity implements View.OnTouchListener { 
RelativeLayout relativeLayout; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_blue); 
    relativeLayout = (RelativeLayout) findViewById(R.id.relativeLayout); 
    relativeLayout.setOnTouchListener(this); 
} 

public boolean onTouch(View view, MotionEvent event) { 
    if (event.getAction() == MotionEvent.ACTION_DOWN) { 
     startActivity(new Intent(this, RedActivity.class)); 
    } 
    return true; 
} 

第二ワン

public class RedActivity extends AppCompatActivity implements View.OnTouchListener { 
RelativeLayout relativeLayout; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_red); 
    relativeLayout = (RelativeLayout) findViewById(R.id.relativeLayout2); 
    relativeLayout.setOnTouchListener(this); 
} 

public boolean onTouch(View view, MotionEvent event) { 
    if (event.getAction() == MotionEvent.ACTION_UP) { 
     startActivity(new Intent(this, OrangeActivity.class)); 
    } 
    return true; 
} 

}

+1

2番目のアクティビティで何もしていないのであれば、それはなぜ必要なのですか? あなたは第3アクティビティを直接起動することができます。 –

+0

2番目のアクティビティで何かをする予定ですが、まだそれに気づいていないので、最初にアクティビティの切り替えを試みました。 – Trevor

答えて

0

BlueActivityでイベントがまだ実行されているので、RedActivityのonTouchメソッドが呼び出されていないのでわかりましたBlueActivityでこれを試してみてくださいBlueActivityにこれを入れてみましょう。

public boolean onTouch(View view, MotionEvent event) { 
    if (event.getAction() == MotionEvent.ACTION_DOWN) { 
     startActivity(new Intent(this, RedActivity.class)); 
    } 

if (event.getAction() == MotionEvent.ACTION_UP) { 
     startActivity(new Intent(this, OrangeActivity.class)); 
    } 

    return true; 
} 
+0

それは動作しませんでした。私は、ビューが切り替わるときにフォーカスが失われると思います。ACTION_UP – Trevor

+0

実際に、このコードをもう一度試した後、BlueActivityの間にタッチしてすぐに指を離してからACTION_UPを取得するとタッチしたままにして指を離すと、決してACTION_UPは得られません。 – Trevor

関連する問題