如何获取 ListView 的选定项的 ID,其中数据来自 Json 格式的服务器


my JSON:
{
"data": [
{
"identity": 1,
"email": "riya@gmail.com"
},
{
"identity": 2,
"email": "riya@gmail.com"
},
{
"identity": 3,
"email": "priyanka@o2h.com"
},
{
"identity": 4,
"email": "priyanka@o2h.com"
},
{
"identity": 5,
"email": "abcd@gmail.com"
},
{
"identity": 6,
"email": "abcd@gmail.com"
},
{
"identity": 7,
"email": "abcd@gmail.com"
},
{
"identity": 8,
"email": "priya@gmail.com"
},
{
"identity": 9,
"email": "priya@gmail.com"
},
{
"identity": 10,
"email": "priya@gmail.com"
},
{
"identity": 11,
"email": "priya@gmail.com"
},
{
"identity": 12,
"email": "priya@gmail.com"
},
{
"identity": 13,
"email": "priya@gmail.com"
},
{
"identity": 14,
"email": "jaya@gmail.com"
},
{
"identity": 15,
"email": "jaya@gmail.com"
},
{
"identity": 16,
"email": "priyanka@o2h.com"
},
{
"identity": 17,
"email": "jaya@gmail.com"
},
{
"identity": 18,
"email": "kinjal@gmail.com"
},
{
"identity": 19,
"email": "kinjal@gmail.com"
},
{
"identity": 20,
"email": "kinjal@gmail.com"
},
{
"identity": 21,
"email": "priyankapatell@o2h.com"
},
{
"identity": 22,
"email": "priyankapatelle@o2h.com"
},
{
"identity": 23,
"email": "priyankapatelre@o2h.com"
},
{
"identity": 24,
"email": "priyankart@o2h.com"
},
{
"identity": 25,
"email": "priyankarthjjk@o2h.com"
},
{
"identity": 26,
"email": "priyajjk@o2h.com"
},
{
"identity": 27,
"email": "riya@gmail.com"
},
{
"identity": 28,
"email": "risha@gmail.com"
},
{
"identity": 29,
"email": "rishad@gmail.com"
},
{
"identity": 30,
"email": "rishaTiwari@gmail.com"
},
{
"identity": 31,
"email": "textview"
},
{
"identity": 32,
"email": "textw"
},
{
"identity": 33,
"email": "tetw"
},
{
"identity": 34,
"email": "Textdddd"
},
{
"identity": 35,
"email": "tevvtw"
},
{
"identity": 36,
"email": "Textdhdjdk"
},
{
"identity": 37,
"email": "TextVlfggfg"
},
{
"identity": 38,
"email": "TextViewllkk"
},
{
"identity": 39,
"email": "TextViewghjm"
},
{
"identity": 40,
"email": "Te"
},
{
"identity": 41,
"email": "TextView133"
},
{
"identity": 42,
"email": "TextViewjkgjk"
},
{
"identity": 43,
"email": "TextViewIhhh"
},
{
"identity": 47,
"email": "TextViewhskslsld"
},
{
"identity": 48,
"email": "TextViewakskks"
},
{
"identity": 49,
"email": "TextVisjskdldk"
},
{
"identity": 50,
"email": "TedudidoxtView"
},
{
"identity": 51,
"email": "TextViewhddkdk"
}
]
}

步骤 1:从 JSON 数据映射中获取值 键:值 => 身份:电子邮件。

步骤2:在列表视图中显示电子邮件。

步骤3:从列表视图中选择电子邮件。

步骤4:在下一个活动中显示选定的电子邮件。

步骤5:获取所选电子邮件的密钥。

现在请告诉我该怎么做? 我正在使用凌空库来获取数据,我可以在列表视图中显示电子邮件,还可以将选定的 ListView 放在下一个活动中,但我如何为我的帖子请求获取电子邮件的 ID?

创建可序列化类

public class DataClass implements Serializable {
public int id;
public String email;
}

创建数据类列表

List<DataClass> selectedList;

将数据放在选定列表中

listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int 
position,long arg3) {
//add validation email is already selected
DataClass data = new DataClass();
data.email = list.get(position).email;
data.id = list.get(position).Id;
selectedList.add(data);
}
});

关于你的意图

Bundle bundle = new Bundle();
bundle.putSerializable("value", selectedList);
intent.putExtras(bundle);

在第二个活动中获取选定的电子邮件数据并执行发布请求

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
Intent intent = this.getIntent();
Bundle bundle = intent.getExtras();
List<DataClass> datas=
(List<DataClass>)bundle.getSerializable("value");
doPostRequest(datas) // you can get your id's and email's on selected on list
}
  1. override setOnitemClickListener of ListView
  2. 然后使用"位置"参数获取所选项目的ID。

从列表视图中获取选定的项目 ID,在下面尝试这样,

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// get you clicked item posion here
Log.e("USERID",list.get(position).getId+"");
Log.e("USEREMAIL",list.get(position).getEmail+"");
}
});

希望对您有所帮助,万事如意。

将此数组列表设置为列表视图和列表视图中选择的项目 使用列表视图位置从列表中获取电子邮件。

示例:电子邮件 = list.get(i(.getEmail((;

Arraylist<Pojo> list=new Arraylist();
JsonArray jsonArray=new JsonArray("data");
for(int i=0;i<jsonArray;i++)
{
JsonObject jobject=jsonArray.getJsonObject(i);
String identity=jobject.getString("identity");
String email=jobject.getString("email");
Pojo pojo=new Pojo(identity,email);
list.add(pojo)
}

最新更新