gpt4 book ai didi

android - 如果我的 ListView 在单击时由 JSON 对象创建,如何将 id 传递给其他 Activity

转载 作者:搜寻专家 更新时间:2023-11-01 08:33:41 26 4
gpt4 key购买 nike

我正在使用 json 创建一个 ListView 以从服务器检索数据并在 ListView 中显示信息,我尝试通过单击列表来检查 id 是否成功传递到适配器将显示一个 snackbar ,但我不知道如何将 id 传递到 ListView 。这是我的代码。

@Override
protected void onPostExecute(Integer integer) {
super.onPostExecute(integer);

if(integer == 1)
{
//ADAPTER
ArrayAdapter<String> adapter=new ArrayAdapter<String>(c,android.R.layout.simple_list_item_1,players);

//ADAPT TO LISTVIEW
lv.setAdapter(adapter);

//LISTENET
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Snackbar.make(view,players.get(position),Snackbar.LENGTH_SHORT).show();
}
});

}else
{
Toast.makeText(c,"Unable to Parse",Toast.LENGTH_SHORT).show();
}

pd.dismiss();
}

//PARSE RECEIVED DATA
private int parse()
{
try
{
//ADD THAT DATA TO JSON ARRAY FIRST
JSONArray ja=new JSONArray(data);

//CREATE JO OBJ TO HOLD A SINGLE ITEM
JSONObject jo=null;

players.clear();

//LOOP THRU ARRAY
for(int i=0;i<ja.length();i++)
{
jo=ja.getJSONObject(i);

//RETRIOEVE NAME
String name=jo.getString("campaign_name");
String id=jo.getString("campaign_id");

//ADD IT TO OUR ARRAYLIST
players.add(name);
}

return 1;

} catch (JSONException e) {
e.printStackTrace();
}

return 0;
}

这是输出

enter image description here

最佳答案

使用字段nameid 创建一个模型类Campaign,并覆盖toString 以返回任何你想要的显示在 ListView 中(在您的案例名称中)

在适配器中传递 Campaign 列表而不是字符串列表

ArrayAdapter<Campaign> adapter=new ArrayAdapter<Campaign>(..)`

在解析方法中,

Campaign campaign = new Campaign()
campaign.name=jo.getString("campaign_name");
campaign.id=jo.getString("campaign_id");
players.add(campaign);`

最后,onItemclick

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Campaign item = parent.getAdapter().getItem(position)
Snackbar.make(view,item.id +" "+item.name,Snackbar.LENGTH_SHORT).show();
}

关于android - 如果我的 ListView 在单击时由 JSON 对象创建,如何将 id 传递给其他 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38429399/

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