2013-07-22 32 views
0
button.setOnTouchListener(new OnTouchListener() 
{ 
    public void onClick(View v) 
    { 
     Toast.makeText(MainActivity.this, "YOUR TEXT", 5000).show(); 
    } 
}); 

Eclipse的规定如下:setOnTouchListener()是给我一个错误

在类型视图 方法setOnTouchListener(View.OnTouchListener)不适用于参数(新OnTouchListener(){ })

进口:

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; 

任何I DEA如何解决它?

+0

它必须是您的进口。请给他们看(和班级申报行)。尝试'新的View.OnTouchListener()'这是否解决它? – Simon

+2

我也会做一个项目干净和重建 – chancea

回答

4

使用此代码:

button.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Toast.makeText(MainActivity.this, "YOUR TEXT", 5000).show(); 
     } 
    }); 
+0

添加'View'解决它。 – Si8

3

解决办法有两个:

  1. 添加import android.view.View.OnTouchListener;到类

  2. 年初更换button.setOnTouchListener(new OnTouchListener()button.setOnTouchListener(new ViewOnTouchListener()手性代码建议。

1

代码

public void onClick(View v) 
    { 
     Toast.makeText(MainActivity.this, "YOUR TEXT", 5000).show(); 
    } 

无效的onTouchListener。这就是为什么你所得到的错误,你应该使用

@Override 
public void onTouch(View v, MotionEvent e) 
     { 
      Toast.makeText(MainActivity.this, "YOUR TEXT", 5000).show(); 
     } 

,而是如果你真的想要一个onTouchListener,但我强烈建议使用onClickListener

1

的手性守则的建议,当u使用新OnTouchListener( )U需要覆盖上onTouch不是的onClick或将其更改为
plus.setOnClickListener(新OnClickListener()

@Override 
     public boolean onTouch(View v, MotionEvent event) { 
      // TODO Auto-generated method stub 

      Toast.makeText(MainActivity.this, "YOUR TEXT", 5000).show(); 

      return false; 
     } 
0

你是把一个ontouchlistener有一个onclick听众那是你的雾AKE。

button.setOnTouchListener(new OnTouchListener(){ 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 

    Toast.makeText(MainActivity.this, "YOUR TEXT", 5000).show(); 
    return false; 
    } 
}); 
0

我也有这个问题,我不得不做'修复项目设置',我发现后点击快速修复选项。然后我添加了一个.jar文件,并且都很好。

+0

你能否为你的答案增加更多细节? – Ram