1

我正在从服务器获取一些 json 格式的数据。我有一个模型类,我从服务器获取所有数据,并将所有数据放在一个数组列表中。现在我无法在 recyclerView 中获取数据。

主要活动

public CopyOnWriteArrayList<PrisonerModel> inside1

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        recyclerViewInside = findViewById(R.id.rv);

 signature_calculation_prisonerList();
        new PrisonerListAsyncTask().execute(NetworkUtils.PRISONER_LIST, ctimestamp,
                cnonce, cappkey, csign);
  inside1 = new CopyOnWriteArrayList<>();
        MyAdapter myAdapter = new MyAdapter(inside1, this, this);
        recyclerViewInside.setAdapter(myAdapter);
}

模型.java 文件

public class PrisonerModel {
    private String name;
    private  int image;
    private  int total_prisoner;
    private int outside;
    private int inside;
 
    private String imageUri;
    private String device;
    
    public PrisonerModel() {
    }

    public PrisonerModel(String name, int image) {
        this.name = name;
        this.image = image;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getImage() {
        return image;
    }

    public void setImage(int image) {
        this.image = image;
    }

    public int getTotal_prisoner() {
        return total_prisoner;
    }

    public int getOutside() {
        return outside;
    }

    public int getInside() {
        return inside;
    }

  

    public String getImageUri() {
        return imageUri;
    }

    public String getDevice() {
        return device;
    }

    public static PrisonerModel fromJson(JSONObject jsonObject)
    {
        PrisonerModel pm1 = new PrisonerModel();
        MainActivity ma = new MainActivity();
        try {
            pm1.total_prisoner = jsonObject.getInt("total");
            Log.e("total: ", String.valueOf(pm1.getTotal_prisoner()));
            JSONArray jsonArray = jsonObject.getJSONArray("list");
            ma.inside1 = pm1.fromJson(jsonArray);
            Log.e("inside: ", String.valueOf(ma.inside1.get(0).getName()));
            pm1.inside = pm1.x;
            pm1.outside = pm1.getTotal_prisoner() - pm1.x;

        } catch (JSONException e) {
            e.printStackTrace();
            return null;
        }
        return pm1;
    }

我在这个模型类中获取 inside1 的数据,但是当我在 Main Activity 中使用 Log.e("") 时,它会抛出错误“ArrayOutOfBoundIndex”

你能帮我我在哪里做错了吗?

4

0 回答 0