作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
每当我单击 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/
每当我单击 recyerview 项目时,我都会将数据添加到 jsonarray 中。但是,如果我向下滚动并且上一页不可见,则 jsonarray 将被重置。 @Override public voi
我是一名优秀的程序员,十分优秀!