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

Eclipse 声明如下:

View 类型中的方法 setOnTouchListener(View.OnTouchListener) 不适用于参数(new 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;

知道如何解决吗?

4

7 回答 7

4

使用此代码:

    button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Toast.makeText(MainActivity.this, "YOUR TEXT", 5000).show();
        }
    });
于 2013-07-22T16:58:18.470 回答
3

有两种解决方案:

  1. 添加import android.view.View.OnTouchListener;到课程的开头

  2. 替换button.setOnTouchListener(new OnTouchListener()button.setOnTouchListener(new ViewOnTouchListener()建议的手性密码。

于 2013-07-22T16:59:48.250 回答
1

检查您的代码: http: //developer.android.com/reference/android/view/View.OnTouchListener.html 您应该使用 onTouch 方法。

于 2013-07-22T16:59:55.453 回答
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,虽然我强烈建议 Chiral Code 建议使用 onClickListener

于 2013-07-22T17:00:27.200 回答
1

当您使用 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;
        }
于 2013-07-22T17:01:51.750 回答
0

您将 ontouchlistener 与 onclick 侦听器放在一起,那是您的错误。

    button.setOnTouchListener(new OnTouchListener(){

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

     Toast.makeText(MainActivity.this, "YOUR TEXT", 5000).show();
    return false;
    }
 });
于 2014-07-08T09:42:22.973 回答
0

我也遇到了这个问题,我必须在单击快速修复选项后找到“修复项目设置”。然后我添加了一个 .jar 文件,一切都很好。

于 2014-10-17T00:10:01.743 回答