错误:"Adapter无法应用到(package_name, java.utill.List<package_name>) "在Android Studio Java中。

问题描述 投票:0回答:1

我知道可能会有一些类似的问题,但这与他们完全不同。我有一个android studio项目,其中我有一个带有CardView的RecyclerView。当我在MainActivity.java中定义适配器时,它给我的错误是:'Adapter cannot be applied to (package_name, java.utill.List<package_name>)'

这里是主活动代码。

package com.example.app;

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.os.Bundle;

import org.json.JSONArray;
import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

public class className extends AppCompatActivity {

    RecyclerView viewer;
    package_adapter adapter;
    List<item> itemList = new ArrayList <> ();
    @Override
    protected void onCreate( Bundle savedInstanceState ) {
        super.onCreate (savedInstanceState);
        setContentView (R.layout.layout);
        viewer = findViewById (R.id.viewer);
        viewer.setHasFixedSize (true);
        viewer.setLayoutManager (new LinearLayoutManager(this));

        itemLoader ();
    }
    public void itemLoader(){
        String data = "";
        String name = "";
        String creator = "";
        int likes;
        try {

            URL url = new URL("https://www.unicas-official.com/questions.json");
            HttpURLConnection htc = (HttpURLConnection) url.openConnection();
            InputStream inputStream = htc.getInputStream();
            BufferedReader br = new BufferedReader(new InputStreamReader (inputStream));
            String raw = "";
            while (raw != null){
                raw = br.readLine();
                data = data+raw;
            }
            JSONArray jsonArray = new JSONArray (data);

            JSONObject jsonObject=jsonArray.getJSONObject (0);
            name=name + jsonObject.get ("name");
            creator=creator + jsonObject.get ("creator");
            likes= Integer.parseInt (jsonObject.get ("likes").toString ());
            itemList.add (
                    new item (
                            "https://notin",
                            name,
                            creator,
                            likes
                    )
            );
            adapter = new package_adapter (className.this, itemList);
            viewer.setAdapter (adapter);

        }catch (Exception e){

        }
    }
}

适配器类代码。

package com.example.hometutor;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import org.w3c.dom.Text;

import java.util.List;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

public class package_adapter extends RecyclerView.Adapter<package_adapter.packageHolder> {
    private Context context;
    private List <item> itemList;
    @NonNull
    @Override
    public packageHolder onCreateViewHolder( @NonNull ViewGroup parent , int viewType ) {
        LayoutInflater inflater = LayoutInflater.from (context);
        View view = inflater.inflate (R.layout.item, null);
        return new packageHolder (view);
    }

    @Override
    public void onBindViewHolder( @NonNull packageHolder holder , int position ) {
        item packs = itemList.get (position);
        holder.package_name.setText (packs.getName());
        holder.package_creator.setText (packs.getCreator_name ());
        holder.package_got_likes_count.setText (String.valueOf (packs.getLikes ()));
    }

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

    class packageHolder extends RecyclerView.ViewHolder{
        ImageView package_ico;
        TextView package_name, package_creator, package_got_likes_count;
        packageHolder( @NonNull View itemView ) {
            super (itemView);

            package_ico = itemView.findViewById (R.id.package_imgage);
            package_name = itemView.findViewById (R.id.package_name);
            package_creator = itemView.findViewById (R.id.creator);
            package_name = itemView.findViewById (R.id.likes);
        }
    }
}

我对这个错误感到非常沮丧。请帮助我!! 先谢谢你

enter image description here

java json android-studio android-recyclerview adapter
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.