java - Android 应用程序中的 setOnClickListener 错误

标签 java android

嘿伙计们,我在练习时使用的代码遇到了问题。 问题是它对提供教程的人有用,但对我不起作用。我的问题是如何解决它?

 package bt.sismo;


import android.os.Bundle;
import android.view.View;
import android.widget.Toast;//
import android.widget.ListView;//
import android.widget.ListAdapter;//
import android.widget.ArrayAdapter;//
import android.widget.AdapterView;//
import android.app.Activity;//

public class MainActivity extends Activity {


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

        String[] foods = {"Bacon", "Ham", "Tuna", "Candy", "Meatball", "Potato"};
        ListAdapter bryansAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, foods);
        ListView bryansListView = (ListView) findViewById(R.id.bryansListView);
        bryansListView.setAdapter(bryansAdapter);

        bryansListView.setOnClickListener(
                new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                        String food = String.valueOf(parent.getItemAtPosition(position));
                        Toast.makeText(MainActivity.this, food, Toast.LENGTH_LONG).show();
                    }
                }

        );
    }
}

它后来在 logcat 中给了我这个错误

    Error:(26, 23) error: no suitable method found for setOnClickListener(<anonymous OnItemClickListener>)
    method View.setOnClickListener(OnClickListener) is not applicable
    (argument mismatch; <anonymous OnItemClickListener> cannot be converted to OnClickListener)
    method AdapterView.setOnClickListener(OnClickListener) is not applicable
    (argument mismatch; <anonymous OnItemClickListener> cannot be converted to OnClickListener)

Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

最佳答案

您正在调用 setOnClickListener 并传入 OnItemClickListener

更改此:

bryansListView.setOnClickListener(...)

对此:

bryansListView.setOnItemClickListener(...)

关于java - Android 应用程序中的 setOnClickListener 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36917725/

相关文章:

java - Maven 部署到 Tomcat7(响应 403)未正确使用给定插件

java - 如何在android中绘制全屏?

android - TextView 的子字符串有不同的字体吗?只有 TextView 文本字符串中的子字符串是粗体

java - 如何在android中找到两个区域之间的距离

android - 使用 Httpsurlconnection 连接到服务器 (SSL)

java - 多个模块的 GWT 欢迎文件

javascript - 使用 Java Servlet 的 SweetAlert

java - Java 中使用 nextLine() 获取名称长度

android - 有多个好的构造函数,Room 会选择无参数构造函数。如何解决此警告

android - 我们如何更改 ActionBarDrawerToggle 图标?