【问题标题】:Java Android - setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (new OnClickListener(){})Java Android - View 类型中的 setOnClickListener(View.OnClickListener) 不适用于参数(新的 OnClickListener(){})
【发布时间】:2015-02-06 17:36:56
【问题描述】:

使用以下代码时,我不断收到错误消息, 我知道还有另一种使用 onclick 功能的方法,android:onclick ... 但我更喜欢这种“更清洁”的方式。

textview 的 id 名称是正确的,但我在 onclicklistener 中不断收到此错误。

我做错了什么?

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

    TextView text = (TextView) findViewById(usernameText);
    text.setOnClickListener(new OnClickListener() 
    {
        @Override
        public void onClick(View v) 
        {
            // Do some job here

        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main_screen, menu);
    return true;
}`

【问题讨论】:

  • 你遇到了什么错误?
  • 确保你有这个导入语句 import android.view.View.OnClickListener;
  • 另外,定义'清洁'?

标签: java android onclicklistener


【解决方案1】:

问题可能是您导入的具有 onClickListener 的 jar...

尝试添加这个:

text.setOnClickListener(new View.OnClickListener() 
{
    @Override
    public void onClick(View v) 
    {
        // Do some job here

    }
});

【讨论】:

  • @Raghunandan,OP 的代码没有指定 View.OnClickListener。
  • @Dr.Dredel 我认为问题出在错误的导入语句
  • @Raghunandan,我同意...但是如果您指定 View,它将导入正确的类(我相信)。
  • 可能吧...但是如果他也使用对话框onClickListenner,即使他导入包View,他也会遇到同样的问题...
  • 这段代码对我有用,但我没有添加任何罐子。并添加 import view.onclicklistener 不起作用。
【解决方案2】:

没有看到您的错误,我猜您可能导入了错误的 OnClickListener。确保它是视图。

【讨论】:

  • 另外,如果你想要我的 2 美分,这种方法绝不比在 XML 中设置 onClick 更“干净”。
  • 我检查了它是否是视图之一,但这对我的错误没有任何作用。
  • 好吧,您选择的答案与我的“正确”答案完全相同,所以,一定是问题所在! :)
【解决方案3】:

也许你应该把你的截图上传到这里,但是请寻找你的代码:

确保你

import View.OnClickListener

【讨论】:

    【解决方案4】:
    TextView text = (TextView) findViewById(usernameText);
    text.setOnClickListener(new View.OnClickListener() 
    {
        @Override
        public void onClick(View v) 
        {
            // Do some job here
    
        }
    });
    

    【讨论】:

    • 你不想告诉我们一些关于你的代码的事情吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-28
    • 1970-01-01
    相关资源
    最近更新 更多