gpt4 book ai didi

android - "is not abstact and does not override abstract method."

转载 作者:搜寻专家 更新时间:2023-11-01 07:39:33 26 4
gpt4 key购买 nike

所以我是 android 开发的新手,一直在尝试拼凑一些代码位。这是我到目前为止所拥有的:

package com.teslaprime.prirt;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;
import java.util.ArrayList;
import java.util.List;

public class TaskList extends Activity {
List<Task> model = new ArrayList<Task>();
ArrayAdapter<Task> adapter = null;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Button add = (Button) findViewById(R.id.add);
add.setOnClickListener(onAdd);

ListView list = (ListView) findViewById(R.id.tasks);

adapter = new ArrayAdapter<Task>(this,android.R.layout.simple_list_item_1,model);
list.setAdapter(adapter);
list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(View v, int position, long id) {
adapter.remove(position);
}
});}

private View.OnClickListener onAdd = new View.OnClickListener() {
public void onClick(View v) {
Task task = new Task();
EditText name = (EditText) findViewById(R.id.taskEntry);

task.name = name.getText().toString();

adapter.add(task);
}
};
}

这是我遇到的错误:

compile:
[javac] /opt/android-sdk/tools/ant/main_rules.xml:384: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 2 source files to /home/chris-kun/code/priRT/bin/classes
[javac] /home/chris-kun/code/priRT/src/com/teslaprime/prirt/TaskList.java:30: <anonymous com.teslaprime.prirt.TaskList$1> is not abstract and does not override abstract method onItemClick(android.widget.AdapterView<?>,android.view.View,int,long) in android.widget.AdapterView.OnItemClickListener
[javac] list.setOnItemClickListener(new OnItemClickListener() {
[javac] ^
[javac] /home/chris-kun/code/priRT/src/com/teslaprime/prirt/TaskList.java:32: remove(com.teslaprime.prirt.Task) in android.widget.ArrayAdapter<com.teslaprime.prirt.Task> cannot be applied to (int)
[javac] adapter.remove(position);
[javac] ^
[javac] 2 errors

BUILD FAILED
/opt/android-sdk/tools/ant/main_rules.xml:384: Compile failed; see the compiler error output for details.

Total time: 2 seconds

有什么想法吗?

最佳答案

我不是Android程序员,但它指的是这一行:

list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(View v, int position, long id) {
adapter.remove(position);
}
});}

你有View的方法签名,int,long,它要

AdapterView<?> parent, View view, int position, long id as the signature

至于第二期,是说

The remove method for adapter requires a Task object not an integer.

关于android - "is not abstact and does not override abstract method.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5846400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com