listview-在列表中添加值后,却检索不出来

问题描述

在列表中添加值后,却检索不出来
在一个列表中我使用add(intObject)方法添加了一个值,但是当我使用get(int)方法检索值的时候,却还是获得上次添加的值,并不是这次新添加的值。
谁能给出适当的建议呢?
我使用的下面的代码:

public static List getCompanyName(String user_id) {    List<CustomerList> fetchDatefromID = new ArrayList<CustomerList>();    CustomerList tempProgram = new CustomerList();    String result = """";    InputStream is = null;    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();    nameValuePairs.add(new BasicNameValuePair(""q""" + user_id));    // http post    try {        HttpClient httpclient = new DefaultHttpClient();        HttpPost httppost = new HttpPost(https://erestaurantonline.co.uk/kernow_mobile/customer_search.php?"");        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));        HttpResponse response = httpclient.execute(httppost);        HttpEntity entity = response.getEntity();        is = entity.getContent();    } catch (Exception e) {        Log.e(""log_tag""Error in http connection "" + e.toString());    }    // convert response to string    try {        BufferedReader reader = new BufferedReader(new InputStreamReader(                isiso-8859-1"") 8);        StringBuilder sb = new StringBuilder();        String line = null;        while ((line = reader.readLine()) != null) {            sb.append(line + ""n"");        }        is.close();        result = sb.toString();    } catch (Exception e) {        Log.e(""log_tag""Error converting result "" + e.toString());    }    // parse json data    try {        JSONArray jArray = new JSONArray(result);        for (int i = 0; i < jArray.length(); i++) {            JSONObject json_data = jArray.getJSONObject(i);            if (json_data.getString(""company"") != null) {                tempProgram.setCompanyName(json_data.getString(""company""));                tempProgram.setID(json_data.getString(""id""));                fetchDatefromID.add(i tempProgram);            }        }    } catch (JSONException e) {        Log.e(""log_tag""Error parsing data "" + e.toString());    }    for (int i = 0; i < fetchDatefromID.size(); i++) {        Log.v(""log_tag""DataMy  :  ""+fetchDatefromID.get(i).getCompanyName().toString());    }    return fetchDatefromID;}

解决方案

把下面的代码:

if (json_data.getString(""company"") != null) {                tempProgram.setCompanyName(json_data.getString(""company""));                tempProgram.setID(json_data.getString(""id""));                fetchDatefromID.add(i tempProgram);            }

换成:

if (json_data.getString(""company"") != null) {                tempProgram = new CustomerList();                tempProgram.setCompanyName(json_data.getString(""company""));                tempProgram.setID(json_data.getString(""id""));                fetchDatefromID.add(i tempProgram);            }

否则,list中的每一项都要引用同样的对象,那样的话总是显示你最后一次输入的数据。

解决方案二:
每一次遍历,要创建一个新的对象,才可以。需要

if (json_data.getString(""company"") != null) {                tempProgram = new CustomerList();                tempProgram.setCompanyName(json_data.getString(""company""));                tempProgram.setID(json_data.getString(""id""));                fetchDatefromID.add(i tempProgram);        }

这样写。

时间: 2025-01-07 19:21:54

listview-在列表中添加值后,却检索不出来的相关文章

liferay6.0中添加IFrame后,字段等是应该如何配置,特别是对应的值应该如何写?谢谢!

问题描述 liferay6.0中添加IFrame后,字段等是应该如何配置,特别是对应的值应该如何写?谢谢!或者有没有其他的方法...十分感谢大家了.. 解决方案 解决方案二:我在网上搞了看了很多资料,结果都千篇一律啊...郁闷啊...解决方案三:没有人会吗?解决方案四:该回复于2011-04-18 09:25:28被版主删除

Jquery实现点击按钮,连续地向textarea中添加值的实例代码

 本篇文章主要是对Jquery实现点击按钮,连续地向textarea中添加值的实例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 代码如下:    代码如下: <%@ page language="java" contentType="text/html; charset=gbk"     pageEncoding="gbk"%>     <%@ include file="/pages/common/t

dedecms在栏目列表中添加统计文档数量调用标签

dedecms在栏目列表中添加统计文档数量调用标签,实现的方法还是非常简单的,只需要做一些简单的修改即可实现我们所需要的功能. 方法如下: 打开include/extend.func.php文件,在最后一行?的上面添加以下内容: function GetTotalArc($tid){global $dsql;$sql = GetSonIds($tid);$row = $dsql->GetOne("Select count(id) as dd From dede_archives where

android-如何在发送列表中添加应用显示

问题描述 如何在发送列表中添加应用显示 应用是下载图片到本机服务器上,怎么样能在发送列表中显示应用列表? Intent share = new Intent(Intent.ACTION_SEND);share.setType(""image/jpeg"");share.putExtra(Intent.EXTRA_STREAM Uri.parse(FilePath));startActivity(Intent.createChooser(shareShare Imag

服务器-struts2在web.xml中添加支持后访问所有页面报404错误,什么原因?

问题描述 struts2在web.xml中添加支持后访问所有页面报404错误,什么原因? struts2在web.xml中添加支持后访问所有页面报404错误,本地测试无任何问题,上传服务器就报所有页面404. web.xml struts.xml 运行后 解决方案 上传服务器之后,看看是不是请求IP,或者端口错了 解决方案二: 看看启动服务器报错没.估计你服务器在启动时就报错了 解决方案三: 看看服务器上jsp页面的路径对不对 解决方案四: 这情况一般是 启动服务器 然后就报错了... 找找看

gridview中添加dropdownlist后实现数据库更新

问题描述 gridview中添加dropdownlist后实现数据库更新 背景描述:gridview已经通过选择数据源实现了数据绑定,并选择了编辑操作,并在gridview中添加dropdownlist. 目的:点击编辑,然后选择dropdownlist,然后在数据库中更新该row(只需要更新update dropdownlist所选),并在当前gridview中显示最终结果. DropDownList ddl = GridView1.Rows[e.RowIndex].FindControl("

在vb.net中数据源中添加数据库后怎么可以写select语句

问题描述 在vs2012中的vb.net中数据源中添加数据库后应该怎么样做才能在代码中select语句 解决方案 解决方案二:为什么要在代码中写select如果要筛选为什么不用view.活在在datatable上用select?解决方案三:view怎么用?解决方案四:dimtableasdatatabledimvueasnewdataview(table)vue.sort="xxx,xxx,xxx"'排序vue.sort="xxxdesc"vue.rowFilter

Android ListView获得选项中的值

在Android中我们要如何获取ListView选中项的值呢? 我们举个例子,假如我们已经获得了手机中保存的联系人姓名和电话号码,并把它们显示在了一个Android ListView中,现在要实现的功能是当点击选中项时直接拨号,那么如何取得此时Android ListView中的号码? 要显示联系人姓名和电话号码,那你现在肯定已经在listview 的item里面放了两个控件吧,假如是textview吧,那你就首先要给listview添加一个OnItemClickListener来监听你点击了那

Android中给联系人列表中添加2个button,如何进行嵌套布局

问题描述 小女子新手,因课业要求编android程序应用.在网上搜了个获取系统联系人列表,用的是RelativeLayout,点击直接拨打电话,想进行些修改,在list下添加2个button,分别连接到2个activity,搜到的代码如下:<RelativeLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"><ImageViewandroid:id