首页 > 解决方案 > 安卓。java.lang.NoClassDefFoundError

问题描述

我收到以下错误 java.lang.NoClassDefFoundError: Failed resolution of: Lcom / scandevices / DevicesAdapter; 关于我创建的自定义适配器,使用 RecyclerView.Adapter 扩展类,我不明白为什么在我开发的所有应用程序中,它在主线程中给我这个错误。

自定义适配器代码:

class DevicesAdapter extends RecyclerView.Adapter<DevicesAdapter.Device> {
Context context;
Vector<String> names;

DevicesAdapter(Context _context, Vector<String> _names) {
    context = _context;
    names = _names;
}

@Override
public Device onCreateViewHolder(ViewGroup parent, int viewType) {
    View view = LayoutInflater.from(context).inflate(R.layout.device_row, parent, false);

    return new Device(view);
}

@Override
public void onBindViewHolder(Device holder, int position) {
    holder.name.setText(names.elementAt(position));
}

@Override
public int getItemCount() {
    return names.size();
}

class Device extends RecyclerView.ViewHolder {
    TextView name;
    Button open;

    public Device(View itemview) {
        super(itemview);

        name = (TextView) itemview.findViewById(R.id.ip_device);
        open = (Button) itemview.findViewById(R.id.open_device);
        open.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                HomeFragment.finishscan = true;

                Intent intent = new Intent(context, ControllerActivity.class);
                intent.putExtra("name", name.getText().toString());
                context.startActivity(intent);
            }
        });
    }
}

}

我在哪里得到错误:

devicesadapter = new DevicesAdapter(context, names);  /// ERROR

    recyclerdevices = v.findViewById(R.id.recycler_devices);
    recyclerdevices.setAdapter(devicesadapter);
    recyclerdevices.setLayoutManager(new LinearLayoutManager(context));

我也得到了这个错误:

I/System.out: [socket] e:java.lang.ClassNotFoundException: com.mediatek.cta.CtaUtils

标签: javaandroid

解决方案


推荐阅读