代码如下。IDE对代码很好,但gradle拒绝构建,他说:
TextAdapter不是抽象的,并且不重写适配器公共类中的抽象方法onBindViewHolder(TextAdapter.SimpleTextholder,int)TextAdapter extends RecycerView.Adapter{
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import ...R;
import ...jsonObjects.Nameable;
import java.util.ArrayList;
public class TextAdapter<T extends Nameable> extends RecyclerView.Adapter<TextAdapter.SimpleTextHolder> {
private ArrayList<T> items;
private ClickListener<T> clickListener;
public TextAdapter(ArrayList<T> items, ClickListener<T> onClick) {
this.items = items;
this.clickListener = onClick;
}
@Override
public SimpleTextHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.holder_text, parent, false);
return new SimpleTextHolder(view);
}
@Override
public void onBindViewHolder(SimpleTextHolder holder, int position) {
holder.itemTitle.setText(items.get(position).getName());
}
@Override
public int getItemCount() {
return items.size();
}
class SimpleTextHolder extends RecyclerView.ViewHolder {
TextView itemTitle;
SimpleTextHolder(View itemView) {
super(itemView);
itemTitle = itemView.findViewById(R.id.itemTitle);
itemView.setOnClickListener(v -> clickListener.onClick(items.get(getAdapterPosition())));
}
}
public interface ClickListener<T> {
void onClick(T item);
}
}
您可以通过使SimpleTexTholder
类为静态
来解决这个问题,即。
static class SimpleTextHolder extends RecyclerView.ViewHolder {
// ...
}
下面是我的课:
本文向大家介绍android studio更新gradle错误构建项目失败的解决方法,包括了android studio更新gradle错误构建项目失败的解决方法的使用技巧和注意事项,需要的朋友参考一下 一、版本错误 对应版本,修改gradle version,和plusing version两个地方修改gradle version,和plusing version的方法有两种,一种是在 proj
问题内容: 以下代码在该行生成此错误消息。 这行有多个标记 -实现android.view.View.OnClickListener.onClick -new View.OnClickListener(){}类型的onClick(View)方法必须覆盖超类方法 我不明白为什么。这段代码摘自我所见过的众多示例。什么可能是错的? 问题答案: 检查项目的属性,并验证 Java Compiler- > C
有一个带有一些功能的接口。基类实现接口。然后在子类中重写函数。 但是@override给出了编译器错误“方法不从其超类重写方法” 问题:在子类中,如何覆盖基类中实现的接口函数? }
当Android studio gradle尝试构建我的应用程序时,我遇到了以下例外情况。 行:3 评估项目“:app”时出现问题。方法无签名:build\u 9zxr20k2zkn73ctdrehcrmd74。android()适用于参数类型:(build\u 9zxr20k2zkn73ctdrehcrmd74$\u run\u closure1)值:[build\u 9zxr20k2zkn73
我有下面指定的行为。 我不明白为什么会导致错误以及为什么添加这些方法/类型会修复它。不确定我在这里错过了什么。