gpt4 book ai didi

java - 从 recyclview 添加 jsonarray

转载 作者:行者123 更新时间:2023-12-02 05:25:51 25 4
gpt4 key购买 nike

每当我单击 recyerview 项目时,我都会将数据添加到 jsonarray 中。但是,如果我向下滚动并且上一页不可见,则 jsonarray 将被重置。

@Override
public void onBindViewHolder(final productAdapter.productViewHolder holder, final int position) {

jsonObject=new JSONObject();
wrapObject=new JSONObject();
jsonArray = new JSONArray();

holder.linearLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(context, position+" "+productItem.getName(), Toast.LENGTH_SHORT).show();

long now = System.currentTimeMillis();
Date date = new Date(now);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String getTime = sdf.format(date);

SharedPreferences profilePref = context.getSharedPreferences("myprofile", MODE_PRIVATE);
idPf = profilePref.getString("id", "");
genderPf = profilePref.getString("gender", "");
ageGroupPf = profilePref.getString("ageGroup", "");

try {
jsonObject.put("id",idPf);
jsonObject.put("gender",genderPf);
jsonObject.put("ageGroup",ageGroupPf);
jsonObject.put("category",productItem.getCategory());
jsonObject.put("timeStamp",getTime);
jsonObject.put("product",productItem.getName());
jsonObject.put("view",ANDROID_VIEW);
jsonObject.put("status",PURCHASE_STATUS);
jsonArray.put(jsonObject);

System.out.println("@@jsonArray.lenth: "+jsonArray.length()+" jsonArray: "+jsonArray);

} catch (JSONException e) {
e.printStackTrace();
}

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(productItem.getProductLink()));
context.startActivity(intent);
}
});
}

我想继续向 jsonarray 添加数据,无论滚动如何。

最佳答案

为此,您必须在 onBindViewHolder 方法之外初始化 JsonArray,例如在适配器类顶部初始化它

public Adapter {
JSONArray jsonArray = new JSONArray();

/////further code here
}

关于java - 从 recyclview 添加 jsonarray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56232798/

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