android将listview中的数据发送到服务器

android将listview中的数据发送到服务器,android,listview,android-activity,android-fragments,android-listview,Android,Listview,Android Activity,Android Fragments,Android Listview,我从服务器检索了一些数据,并将这些数据填充到listview中。我想使用我收到的部分数据并将其发送回服务器。我该怎么做?当我单击其中一个列表项时,它将启动另一个带有按钮的活动,当我单击其中一个按钮时,应用程序将使用该列表项中的部分数据(以前从服务器检索到)并将其发送回服务器。我是android编程新手,我被卡住了,不知道该怎么做。有人能给我建议吗?我知道如何通过手动键入要发送的数据将数据发送到服务器 这是我从服务器获取数据并填充到listview的方式,我希望在单击该listview项目时将收到

我从服务器检索了一些数据,并将这些数据填充到listview中。我想使用我收到的部分数据并将其发送回服务器。我该怎么做?当我单击其中一个列表项时,它将启动另一个带有按钮的活动,当我单击其中一个按钮时,应用程序将使用该列表项中的部分数据(以前从服务器检索到)并将其发送回服务器。我是android编程新手,我被卡住了,不知道该怎么做。有人能给我建议吗?我知道如何通过手动键入要发送的数据将数据发送到服务器

这是我从服务器获取数据并填充到listview的方式,我希望在单击该listview项目时将收到的特定电话号码发送回服务器:

public class TabActivityQueue extends Fragment {

ListView list;
TextView number;
TextView info;
TextView remark;
TextView statuss;
Button Btngetdata;
ArrayList<HashMap<String, String>> oslist = new ArrayList<HashMap<String, String>>();

//URL to get JSON Array
private static String url = "http://172.22.85.235:8080/Qproject/servlet/Qaction?action_flag=find";

//JSON Node Names 
private static final String Table2 = "table2";
private static final String phonenumber = "phonenumber";
private static final String peoplenumber = "peoplenumber";
private static final String remarks = "remarks";
private static final String status = "status";

JSONArray table2 = null;



 public View onCreateView(LayoutInflater inflater, ViewGroup container, 
            Bundle savedInstanceState) {
            // Inflate the layout for this fragment
            //This layout contains your list view 
                View view = inflater.inflate(R.layout.activity_tab_activity_queue, container, false);


             return view;
        }


@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);

oslist = new ArrayList<HashMap<String, String>>();
Btngetdata = (Button)getView().findViewById(R.id.getdata);
Btngetdata.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        new JSONParse().execute();  
    }
});

}

private class JSONParse extends AsyncTask<String, String, JSONObject> {
     public ProgressDialog pDialog;
    @Override
   protected void onPreExecute() {
   super.onPreExecute();
   number = (TextView)getView().findViewById(R.id.number);
     info = (TextView)getView().findViewById(R.id.info);
     remark = (TextView)getView().findViewById(R.id.remark);
     statuss = (TextView)getView().findViewById(R.id.statuss);
   pDialog = new ProgressDialog(getActivity());
   pDialog.setMessage("Getting Data ...");
   pDialog.setIndeterminate(false);
   pDialog.setCancelable(true);
   pDialog.show();



}

@Override
   public JSONObject doInBackground(String... args) {

    JSONParser jParser = new JSONParser();

    // Getting JSON from URL
    JSONObject json = jParser.getJSONFromUrl(url);
    return json;
}
 @Override
public void onPostExecute(JSONObject json) {
     pDialog.dismiss();
     try {
            // Getting JSON Array from URL
            table2 = json.getJSONArray(Table2);
            for(int i = 0; i < table2.length(); i++){
            JSONObject c = table2.getJSONObject(i);

            // Storing  JSON item in a Variable
            String number = c.getString(phonenumber);
            String info = c.getString(peoplenumber);
            String remark = c.getString(remarks);
            String statuss = c.getString(status);




            // Adding value HashMap key => value


            HashMap<String, String> map = new HashMap<String, String>();

            map.put(phonenumber, number);
            map.put(peoplenumber, info);
            map.put(remarks, remark);
            map.put(status, statuss);

            oslist.add(map);
            list=(ListView)getView().findViewById(R.id.list);





            ListAdapter adapter = new SimpleAdapter(getActivity(), oslist,
                    R.layout.list_view,
                    new String[] { phonenumber,peoplenumber, remarks,status }, new int[] {
                            R.id.number,R.id.info, R.id.remark,R.id.statuss});

            list.setAdapter(adapter);
            list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                                        int position, long id) {
                    //Toast.makeText(getActivity(), "You Clicked at "+oslist.get(+position).get("name"), Toast.LENGTH_SHORT).show();
                     Intent ThreeButton = new Intent(getActivity(), ThreeButton.class);
                     startActivity(ThreeButton);
                 } 
                }
            );

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


 }
}
}
公共类TabActivityQueue扩展片段{
列表视图列表;
文本视图编号;
文本视图信息;
文本视图备注;
文本视图状态;
按钮Btngetdata;
ArrayList oslist=新的ArrayList();
//获取JSON数组的URL
专用静态字符串url=”http://172.22.85.235:8080/Qproject/servlet/Qaction?action_flag=find";
//JSON节点名称
私有静态最终字符串Table2=“Table2”;
私有静态最终字符串phonenumber=“phonenumber”;
私有静态最终字符串peoplenumber=“peoplenumber”;
私有静态最终字符串备注=“备注”;
私有静态最终字符串status=“status”;
JSONArray table2=null;
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
//此布局包含您的列表视图
视图=充气机。充气(R.layout.activity\u选项卡\u activity\u队列,容器,false);
返回视图;
}
@凌驾
已创建ActivityState上的公共无效(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onActivityCreated(savedInstanceState);
oslist=newarraylist();
Btngetdata=(按钮)getView().findViewById(R.id.getdata);
Btngetdata.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
新建JSONParse().execute();
}
});
}
私有类JSONParse扩展了异步任务{
公共对话;
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
number=(TextView)getView().findViewById(R.id.number);
info=(TextView)getView().findViewById(R.id.info);
备注=(TextView)getView().findViewById(R.id.remark);
statuss=(TextView)getView().findViewById(R.id.statuss);
pDialog=newprogressdialog(getActivity());
setMessage(“获取数据…”);
pDialog.setUndeterminate(假);
pDialog.setCancelable(真);
pDialog.show();
}
@凌驾
公共JSONObject doInBackground(字符串…参数){
JSONParser jParser=新的JSONParser();
//从URL获取JSON
JSONObject json=jParser.getJSONFromUrl(url);
返回json;
}
@凌驾
公共void onPostExecute(JSONObject json){
pDialog.disclose();
试一试{
//从URL获取JSON数组
table2=json.getJSONArray(table2);
对于(int i=0;ivalue
HashMap=newHashMap();
map.put(电话号码、号码);
地图放置(人物编号、信息);
地图放置(备注、备注);
映射放置(状态,状态);
添加(地图);
list=(ListView)getView().findViewById(R.id.list);
ListAdapter=new SimpleAdapter(getActivity(),oslist,
R.layout.list_视图,
新字符串[]{phonenumber,peoplenumber,备注,status},新int[]{
R.id.number、R.id.info、R.id.remark、R.id.status});
list.setAdapter(适配器);
list.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
//Toast.makeText(getActivity(),“您在“+oslist.get(+position).get(“name”)、Toast.LENGTH_SHORT.show()处单击的”;
Intent ThreeButton=新的Intent(getActivity(),ThreeButton.class);
星触觉(三按钮);
} 
}
);
}
}捕获(JSONException e){
e、 printStackTrace();
}
}
}
}

在下一个活动中,您无权访问listview中的数据。您可以将所需的数据传递给新的活动,而不是从那里获取数据。在调用startActivity之前,使用putExtra方法将其放入意图数据中。顺便说一下,如果您使用的是JSON,您应该检查Gson库以解析JSON{
         list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

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

                 Intent ThreeButton = new Intent(getActivity(), ThreeButton.class);
                 ThreeButton.putExtra("phone", oslist.get(position).get("phonenumber"));

                 //u can put all variables similarly...
                startActivity(ThreeButton);
             } 
            }
        );

 In  ThreeButton Activity

 onCreate(){

       Intent data=getIntent();
       data.getString("phone");
       Log.v("phone",phone);


    }
@凌驾 public void onItemClick(AdapterView父级、视图、, 内部位置,长id){ Intent ThreeButton=新的Intent(getActivity(),ThreeButton.class); 三个按钮。putExtra(“电话”,oslist.get(位置)。get(“电话号码”); //你可以把所有的变量放在类似的地方。。。 星触觉(三按钮); } } ); 三按钮式活动 onCreate(){ Intent data=getIntent(); data.getString(“电话”); Log.v(“电话”,电话); }