Android 从listview获取所选项目id

Android 从listview获取所选项目id,android,mysql,listview,Android,Mysql,Listview,我对android非常陌生。我想要一个从列表视图中选择的获取和存储项目id。并且该项目列表已经从mysql数据库中检索到了。我该怎么做? 这是我的密码 项目选择 我想将所选项目id存储在一个全局变量类中。我已经从mysql数据库中检索到所有项目。请帮助我。您可以做一件事,将ClickListener设置到您感兴趣获取id的每个视图。当调用该视图的回调方法时,它将返回一个视图,如下代码所述 ivMenu.setOnClickListener(new View.OnClickListener() {

我对android非常陌生。我想要一个从列表视图中选择的获取和存储项目id。并且该项目列表已经从mysql数据库中检索到了。我该怎么做? 这是我的密码

项目选择


我想将所选项目id存储在一个全局变量类中。我已经从mysql数据库中检索到所有项目。请帮助我。

您可以做一件事,将ClickListener设置到您感兴趣获取id的每个视图。当调用该视图的回调方法时,它将返回一个视图,如下代码所述

ivMenu.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //when this method is called use below code
             v.getId();
        }
    })
如果您想获取活动中视图的id,则可以再做一件事。将下面的属性设置为您想要获取id的视图

android:onClick="someMethod"
当您单击具有上述属性的视图时,它将调用属性中提到的方法。您需要在活动中定义方法,如下所述

public void someMethod(View view) {
     view.getId(); //and done
}

创建一个具有hasMap的单例类,并将值临时存储在hasMap中。选择值时,将其添加到类中,并在需要时检索该值

public class IdClass {
    private Map<Integer, String> clickedIDs = new HashMap<>();
    private static IdClass idClass;

    public static IdClass getIdClass() {
        if (idClass == null) {
            idClass = new IdClass();
        }
        return idClass;
    }

    public void addId(int id,String idValue) {
        clickedIDs.put(id,idValue);

    }

    public String getId(int id) {
        return clickedIDs.get(id);
    }
}
单击项目时

ProjectList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
      @Override
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

          //Storing inside the IdClass
          IdClass.getIdClass().addId(position,ProjectList.getItemAtPosition(position).toString());
          Log.e("pname",a+"");

      }
});
试试下面的代码

final String[] project = new String[jsonArray.length()];

final String[] projectId = new String[jsonArray.length()]; // create array to store id

for (int i = 0; i <jsonArray.length(); i ++){
        JSONObject obj = jsonArray.getJSONObject(i);
        project[i] = obj.getString("projectname");

        projectId[i] = obj.getString("projectid");// stroe id
    }

您面临的问题是什么?您特别想要的项目id,或者是包含listviewCreate Arraylist/Hashmap完整行的父布局IT,并获取位置的值我只需要单击项目时的项目id,并且在另一个活动中检索该id。
final String[] project = new String[jsonArray.length()];

final String[] projectId = new String[jsonArray.length()]; // create array to store id

for (int i = 0; i <jsonArray.length(); i ++){
        JSONObject obj = jsonArray.getJSONObject(i);
        project[i] = obj.getString("projectname");

        projectId[i] = obj.getString("projectid");// stroe id
    }
 a = projectId[postion];