Reputation: 83
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);
}
How to fix this code? I have that errors:
- cannot resolve symbol 'setOnTouchListener' - for setOnTouchListener
- invalid method declaration; return type required - for onTouchListener
- Annotations are not allowed here - for @override above public boolean
- cannot resolve symbol 'event' for bothe 'events'
- cannot return a value from a method with void result type for return true and return false
Please help!
Upvotes: 1
Views: 3695
Reputation: 1
Use the following method
@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);
}
Upvotes: 0
Reputation: 20211
You can't run code other than primitive assignment in the class body. Your code needs to be in some method, like 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;
}
});
}
Upvotes: 6
Reputation: 5312
Your method signature is incorrect. Try this code:
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;
}
});
Upvotes: 0