使用android显示隐藏ID的数据

时间:2014-07-11 12:15:20

标签: android json hidden-field

我有几个JSONObject的JSONArray,每个JSONObject包含Name和ID。如何仅显示名称并隐藏ID。我需要通过知道按下哪一行来获取ID。我不关心如何显示它,列表视图,表格,网格或其他什么。这是我从JSONArray获取数据的方式:

for (int i = 0; i < ans.length(); i++) {
    int id = Integer.parseInt(ans.getJSONObject(i).getString("UserID"));
    String disName = ans.getJSONObject(i).getString("DisplayName");
    adapter.add(disName + " - " + id);
}

提前谢谢

在第一个答案之后,我创建了一个包含diaplyName和ID的类名DisNameID,并且toString返回displayName。此活动的listView名为&#34; frndLst&#34;。这是应填充列表视图的代码:

ListView lstFrnd = (ListView) findViewById(R.id.frndLst);
ArrayList<String> listItems = new ArrayList<String>();
ArrayAdapter<String> adapter;
adapter = new ArrayAdapter<String>(this, android.R.layout.XXX, listItems);
for (int i = 0; i < ans.length(); i++) {
    int id = integer.parseInt(ans.getJSONObject(i).getString("UserID"));
    String disName = ans.getJSONObject(i).getString("DisplayName");
    DisNameID dis = new DisNameID(disName, id);
    adapter.add(disName + " - " + id);
}

现在我有两个新问题:如何更改适配器来保存我的新类--DisNameID?在新的适配器构造函数上写什么而不是XXX?

1 个答案:

答案 0 :(得分:1)

创建Holder对象,覆盖toString

class Holder {
    private String name;
    private String id;
    //getters and setters;
    public String toString(){ return name };
}

然后将这些对象添加到适配器。这样,将显示名称,但您可以使用this method从适配器获取Holder对象并使用id。