gpt4 book ai didi

java - 每次我获取 pdf 文件时,我的 ArrayAdapter 堆栈

转载 作者:行者123 更新时间:2023-11-29 19:09:45 25 4
gpt4 key购买 nike

我需要有关每次单击按钮获取文件时如何刷新 ArrayAdapter 的帮助。它不断堆叠新列表而不清除最后一个。请帮忙,也不要介意我的英语。

这是我的阵列适配器

 public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
PdfHolder holder = null;
if(row == null)
{
LayoutInflater inflater=LayoutInflater.from(activity);
row = inflater.inflate(layoutResourceId,parent,false);
holder = new PdfHolder();
holder.textViewName = (TextView) row.findViewById(R.id.textViewName);
holder.textViewUrl = (TextView) row.findViewById(R.id.textViewUrl);
row.setTag(holder);
}
else
{
holder= (PdfHolder) row.getTag();
}

pdf = data.get(position);
holder.textViewName.setText(pdf.getName());
holder.textViewUrl.setText(pdf.getUrl());
return row;
}


class PdfHolder
{
TextView textViewName,textViewUrl;
}

这是我从实时服务器获取文件的代码

private void getPdfs() {
progressDialog.setMessage("Fetching pdfs from server...");
progressDialog.show();
StringRequest stringRequest = new StringRequest(Request.Method.POST, PDF_FETCH_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
progressDialog.dismiss();
try {
JSONObject obj = new JSONObject(response);
Toast.makeText (Files.this,obj.getString("message"), Toast.LENGTH_SHORT).show();

JSONArray jsonArray = obj.getJSONArray("pdfs");
for(int i=0;i<jsonArray.length();i++){
JSONObject jsonObject = jsonArray.getJSONObject(i);
Pdf pdf = new Pdf();
String pdfName = jsonObject.getString("name");
String pdfUrl = jsonObject.getString("url");
pdf.setName(pdfName);
pdf.setUrl(pdfUrl);
pdfList.add(pdf);
}

pdfAdapter = new PdfAdapter(Files.this, R.layout.list_layout, pdfList);
listView.setAdapter(pdfAdapter);
pdfAdapter.notifyDataSetChanged();
} catch (JSONException e) {
e.printStackTrace();
}
}
},

new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {

}
}
);

RequestQueue request = Volley.newRequestQueue(this);
request.add(stringRequest);
}

你能建议我该怎么做吗?或要添加或更改的代码 fragment ?

最佳答案

每次加载新数据时,您都会将新的 pdf 添加到同一个列表中。

解决这个问题,之前

for(int i=0;i<jsonArray.length();i++){

pdfList.clear()

关于java - 每次我获取 pdf 文件时,我的 ArrayAdapter 堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45786882/

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