Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 列表视图显示,但在srcolling时双重显示_Javascript_Arrays_Json_Listview_Mysqli - Fatal编程技术网

Javascript 列表视图显示,但在srcolling时双重显示

Javascript 列表视图显示,但在srcolling时双重显示,javascript,arrays,json,listview,mysqli,Javascript,Arrays,Json,Listview,Mysqli,我试图用json从mysql创建一个包含629条记录的listview,listview正在运行,但在向下滚动时,数据会显示两倍 这是我的股票活动: 公共类StockActivity扩展活动{ 公共阵列列表; 列表视图列表视图; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_stock); listView=(lis

我试图用json从mysql创建一个包含629条记录的listview,listview正在运行,但在向下滚动时,数据会显示两倍

这是我的股票活动:

公共类StockActivity扩展活动{
公共阵列列表;
列表视图列表视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_stock);
listView=(listView)findViewById(R.id.listView1);
列表=新的ArrayList();
list.clear();
getPartId();
}
public void getPartId(){
类GetPartId扩展了异步任务{
私人对话;
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
runOnUiThread(新的Runnable(){
@凌驾
公开募捐{
pDialog=新建进度对话框(StockActivity.this);
设置消息(“显示部件…等待”);
pDialog.setUndeterminate(假);
pDialog.setCancelable(真);
pDialog.show();
}
});
}
@凌驾
受保护的void onPostExecute(字符串s){
super.onPostExecute(s);
pDialog.disclose();
showPartId(s);;
}
@凌驾
受保护字符串doInBackground(无效…参数){
字符串s=null;
RequestHandler rh=新的RequestHandler();
s=rh.sendGetRequest(konfigurasi.URL\u TAMPIL\u ALL);
返回s;
}
}
GetPartId gPI=newgetpartid();
execute();
}
私有void showPartId(字符串json){
试一试{
//孟卡里·尼莱不在其中
JSONObject JSONObject=新的JSONObject(json);
JSONArray result=jsonObject.getJSONArray(konfugurasi.TAG_JSON_数组);

for(inti=0;i您需要将此代码置于for循环之外

ListViewAdapter adapter=new ListViewAdapter(this, list);
listView.setAdapter(adapter);
并从循环内部删除此代码

ListViewAdapter adapter=new ListViewAdapter(this, list);
            adapter.notifyDataSetChanged();listView.setAdapter(adapter);

感谢mafujul,我按照您的建议对ListViewAdapater进行了如下轻微修改:

if(convertView==null){
convertView=充气机。充气(R.layout.colm_行,空);
}
txt1=(TextView)convertView.findViewById(R.id.No_部分);
txt2=(TextView)convertView.findViewById(R.id.Part_Desc);
txt3=(TextView)convertView.findViewById(R.id.Spec1);
txt4=(TextView)convertView.findViewById(R.id.Spec2);
txt5=(TextView)convertView.findViewById(R.id.Sat);
txt6=(TextView)convertView.findViewById(R.id.Location);
txt7=(TextView)convertView.findViewById(R.id.Qty\u Onh);
HashMap map=list.get(位置);
setText(map.get(COLUMN1));
setText(map.get(COLUMN2));
setxt(map.get(COLUMN3));
setxt(map.get(COLUMN4));
setxt(map.get(COLUMN5));
setxt(map.get(COLUMN6));
setxt(map.get(COLUMN7));
返回convertView;