eclipse setOnTouchListener() 给我一个错误
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/17793152/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
setOnTouchListener() is giving me an error
提问by Si8
button.setOnTouchListener(new OnTouchListener()
{
public void onClick(View v)
{
Toast.makeText(MainActivity.this, "YOUR TEXT", 5000).show();
}
});
Eclipse states the following:
Eclipse 声明如下:
The method setOnTouchListener(View.OnTouchListener) in the type View is not applicable for the arguments (new OnTouchListener(){})
类型View中的setOnTouchListener(View.OnTouchListener)方法不适用于参数(new OnTouchListener(){})
Imports:
进口:
import android.os.Bundle;
import android.app.Activity;
import android.content.DialogInterface.OnClickListener;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
Any idea how to resolve it?
知道如何解决吗?
回答by Chiral Code
Use this code:
使用此代码:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "YOUR TEXT", 5000).show();
}
});
回答by AZX
There are two solutions:
有两种解决方案:
Add
import android.view.View.OnTouchListener;
to the beginning of your classReplace
button.setOnTouchListener(new OnTouchListener()
withbutton.setOnTouchListener(new ViewOnTouchListener()
as Chiral Code suggested.
添加
import android.view.View.OnTouchListener;
到班级开头更换
button.setOnTouchListener(new OnTouchListener()
与button.setOnTouchListener(new ViewOnTouchListener()
手性代码建议。
回答by Aleksandr
Check your code: http://developer.android.com/reference/android/view/View.OnTouchListener.htmlYou should use method onTouch.
检查您的代码:http://developer.android.com/reference/android/view/View.OnTouchListener.html您应该使用 onTouch 方法。
回答by anthonycr
The code
编码
public void onClick(View v)
{
Toast.makeText(MainActivity.this, "YOUR TEXT", 5000).show();
}
is not valid for an onTouchListener. That is why you are getting the error, you should be using
对 onTouchListener 无效。这就是为什么你收到错误,你应该使用
@Override
public void onTouch(View v, MotionEvent e)
{
Toast.makeText(MainActivity.this, "YOUR TEXT", 5000).show();
}
instead if you really want an onTouchListener, although I highly suggest Chiral Code's suggestion of using an onClickListener
相反,如果你真的想要一个 onTouchListener,虽然我强烈建议手性代码建议使用 onClickListener
回答by Srikanth Roopa
and when u use new OnTouchListener() u need to override on onTouch not onClick or change it to
plus.setOnClickListener(new OnClickListener()
当您使用 new OnTouchListener() 时,您需要覆盖 onTouch 而不是 onClick 或将其更改为
plus.setOnClickListener(new OnClickListener()
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "YOUR TEXT", 5000).show();
return false;
}
回答by amruzzzzzzzzzi
you are putting an ontouchlistener with an onclick listener thats your mistake.
您将 ontouchlistener 与 onclick 侦听器放在一起,那是您的错误。
button.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
Toast.makeText(MainActivity.this, "YOUR TEXT", 5000).show();
return false;
}
});
回答by MDubzem
I also had this problem and I had to do 'fix project setup' which I found after clicking the quick fixes option. I then added a .jar file and it was all good.
我也遇到了这个问题,我必须执行“修复项目设置”,这是我在单击快速修复选项后发现的。然后我添加了一个 .jar 文件,一切都很好。