2016-10-03 28 views
0
Button button = (Button)findViewById(R.id.button1); 

button.setOnTouchListener(new OnTouchListener() { 

    @Override 
    public boolean onTouch(MotionEvent event) { 
     if (event.getAction() == MotionEvent.ACTION_DOWN) { 
      //Insert desired code here 
      return true; 
     } 
     return false; 
    } 
}); 

public void backtogreen(View view) { 
    Intent intent = new Intent(this, DisplayMessageActivity.class); 
    startActivity(intent); 
} 

このコードを修正するにはどうすればよいですか? は私が持っているエラー:シンボル 'setOnTouchListener'を解決できません

  • シンボル 'setOnTouchListener' を解決することはできません - setOnTouchListener
  • 無効なメソッド宣言のために、戻り値の型が必要 - onTouchListener
  • 注釈がここで許可されていないために - パブリックブール
  • 上記@Overrideためにはボーテ「イベント」
  • のシンボル「イベント」のためのボイド結果型とメソッドから値を返すことはできません解決することはできませんtrueを返してfalseを返します

助けてください!

答えて

0

あなたの署名は正しくありません。このコードを試してください:

button.setOnTouchListener(new View.OnTouchListener() { 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      if (event.getAction() == MotionEvent.ACTION_DOWN) { 
       //Insert desired code here 
       return true; 
      } 
      return false; 
     } 
    }); 
+0

これは、私はこれらのエラーに対処する方法を知っていただきたいと思い、asignmentたを使用してください。 どのようにコードする必要がありますか? 「View v」を正しいものにしますか? – Rediner

+0

@Redinerもう一つの答えは、コード内のすべての問題を修正したはずです。クリック動作が必要な場合は、 'button.setOnClickListener()'を使用してください。 – Shaishav

+0

onTouchListenerを使っていくつかのボタンをスワイプして連続して実行できるかどうか知っていますか? – Rediner

4

クラス本体にプリミティブ割り当て以外のコードを実行することはできません。あなたのコードはonCreateのように、いくつかの方法でする必要があります:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Button button = (Button) findViewById(R.id.button1); 
    button.setOnTouchListener(new View.OnTouchListener() { 

     @Override 
     public boolean onTouch(View view, MotionEvent event) { 
      if (event.getAction() == MotionEvent.ACTION_DOWN) { 
       //Insert desired code here 
       return true; 
      } 
      return false; 
     } 
    }); 
} 
+0

私の主な目標は、クリックされたようなタッチでボタンを実行することです。 今私は自分のコードでエラーに苦しんでいる:( – Rediner

0

は、以下の方法

@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 

Button button = (Button) findViewById(R.id.button1); 



     OnTouchListener m_onTouchListener = new OnTouchListener() { 
     @Override 

     public boolean onTouch(View p_v, MotionEvent p_event) { 

      if (event.getAction() == MotionEvent.ACTION_DOWN) { 
      //Insert desired code here 
      return true; 
     } 
     return false; 
     } 
    }; 

    button.setOnTouchListener(m_onTouchListener); 

} 
関連する問題