-1

Я извлек некоторые данные с сервера и заполнил эти данные в виде списка. Я хочу использовать часть полученных мной данных и отправить их обратно на сервер. Как мне это сделать? Когда я нажимаю на один из элементов списка, он запускает другое действие с помощью кнопок, когда я нажимаю одну из кнопок, приложение будет использовать часть данных в этом списке (который ранее был получен с сервера) и отправить его обратно на сервер. Я новичок в программировании на Android, я застрял и понятия не имею, как мне это сделать. Мог бы кто-нибудь мне посоветовал? Я знаю, как отправлять данные на сервер, вручную набирая данные, которые я хочу отправить.android отправить данные в listview на сервер

Это, как я получить данные с сервера и заселена в ListView и я хочу, чтобы послать определенный PHONENUMBER получил обратно на сервер, когда я нажимаю, что 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(); 
    } 


} 
} 
} 

ответ

0
  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); 


    } 
+0

спасибо ... я получил его –

0

У вас нет доступа к данных в списке в следующем упражнении. Вместо того, чтобы пытаться получить оттуда, вы можете передать необходимые данные в новую деятельность. Перед вызовом startActivity введите данные намерения с помощью методов putExtra. Кстати, если вы работаете с JSON, вы должны проверить библиотеку Gson для разбора json

Смежные вопросы