Как да изпратите идентификатор на autocompletetextview?

В моето приложение използвах autocompletetextview за извличане на данни, данните, които показвам, използват json, сега autocompletetextview работи добре, но това, което искам, е след като получа име в моя autocompletetextview, искам да изпратя идентификатор на категория, но той изпраща име..следва е моят отговор..и кодът ми на фрагмент е тук..Autocompletetextview не работи

{
 "category":
  [
   {
      "id":"4",
      "name":"cat1"
   },
   {
      "id":"7",
    "name":"aditya"}
   ]
}

Add_Catagory.java

public class MainActivity extends Activity {

private Button btns;

private ProgressDialog pDialog;
JSONParser jsonParser = new JSONParser();

private  MultiAutoCompleteTextView acTextView;
private static final String FEEDBACK_URL = "";
private static final String FEEDBACK_SUCCESS = "status";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    acTextView = (MultiAutoCompleteTextView) findViewById(R.id.autoComplete);
    acTextView.setAdapter(new SuggestionAdapter(this,acTextView.getText().toString()));
    acTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

   /* JsonParse jp=new JsonParse();
    List<SuggestGetSet> list =jp.getParseJsonWCF(acTextView.getText().toString());
    list.get(0).getId();*/



    btns=(Button)findViewById(R.id.btn);
    btns.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            new AttemptLogin().execute();
        }
    });
}

     class AttemptLogin extends AsyncTask<String, String, String> {

    boolean failure = false;
    private String catid;

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(MainActivity.this);
        pDialog.setMessage("Sending..");
        pDialog.setIndeterminate(true);
      //  pDialog.setIndeterminateDrawable(getResources().getDrawable(R.drawable.custom_progress));
        pDialog.setCancelable(true);
        pDialog.show();
    }

    @SuppressWarnings("unused")
    @Override
    protected String doInBackground(String...args) {
        //Check for success tag
        //int success;
        Looper.prepare();

        String pweighttype=acTextView.getText().toString();


        try {
              JsonParse jp=new JsonParse();
              List<NameValuePair> params = new ArrayList<NameValuePair>();
              List<SuggestGetSet> list =jp.getParseJsonWCF(acTextView.getText().toString());
              for(int i = 0;i<list.size();i++){
                if(list.get(i).getName().equals(acTextView.getText().toString()))
                 params.add(new BasicNameValuePair("parentid",list.get(i).getId()));
                System.out.println("Su gayu server ma"+params);
                catid=list.get(i).getId().toString();
              }


              System.out.println("Su catid"+catid);

             Log.d("request!", "starting");
             // getting product details by making HTTP request
             JSONObject json = jsonParser.makeHttpRequest (
                 FEEDBACK_URL, "POST", params);
             //check your log for json response
             Log.d("Login attempt", json.toString());

             JSONObject jobj = new JSONObject(json.toString());
             final String msg = jobj.getString("msg");

            runOnUiThread(new  Runnable() 
             {
                @Override
                public void run() 
                {
                    Toast.makeText(MainActivity.this, msg, Toast.LENGTH_LONG).show();
                } 
            });
             return json.getString(FEEDBACK_SUCCESS);

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

    // After completing background task Dismiss the progress dialog

    protected void onPostExecute(String file_url) {
        //dismiss the dialog once product deleted
        pDialog.dismiss();

        //parentcat.getText().clear();
}}

въведете описание на изображението тук

въведете описание на изображението тук


person fazilpuriasa    schedule 24.03.2015    source източник


Отговори (1)


опитайте това//променете doInBackground

   try {
      JsonParse jp=new JsonParse();
      List<NameValuePair> params = new ArrayList<NameValuePair>();
      List<SuggestGetSet> list =jp.getParseJsonWCF(acTextView.getText().toString());
      for(int i = 0;i<list.length();i++){
        if(list.get(i).getName().equals(acTextView.getText().toString()))
         params.add(new BasicNameValuePair("parentid",list.get(i).getId()));
           break;
      }
person Nooh    schedule 24.03.2015
comment
показва Причинено от: java.lang.IndexOutOfBoundsException: Невалиден индекс 0, размерът е 0 - person fazilpuriasa; 24.03.2015
comment
в кой ред искате да изпратите идентификатор? - person Nooh; 24.03.2015
comment
след получаване на текст в моя autocompletetextview...вижте в моя метод do in background...изпращам стойности на сървъра...и проверихте ли моя редактиран клас файл...редактирах вашия код...вярно ли е? - person fazilpuriasa; 24.03.2015
comment
id изпраща, но изпраща само id=4..имам предвид, че ако избера 'aditya', той изпраща id 4..може да заеме само 0-та позиция.. - person fazilpuriasa; 24.03.2015
comment
пише червена линия под length()..Методът length() е недефиниран за типа List‹SuggestGetSet›......след това опитах с size вместо length, но не изпраща нищо.. - person fazilpuriasa; 24.03.2015
comment
проработи, премахнах израза за прекъсване и го използвах с размер..сега работи добре..приемете и гласувайте..благодаря - person fazilpuriasa; 24.03.2015
comment
имам предвид според вашия отговор, успях да получа идентификатора на един елемент, но сега това, което се опитвам е, че потребителят трябва да може да избере повече от един елемент и след това искам да получа идентификатори - person fazilpuriasa; 08.04.2015
comment
вижте моя редактиран въпрос..и не позволявам да задавам повече въпроси тук.. затова питам тук - person fazilpuriasa; 08.04.2015
comment
сега съм зает, ще проверя утре, разбира се :) - person Nooh; 09.04.2015
comment
здравейте, възможно ли е да получите елементи от друг изглед за търсене? Искам да кажа, че получавам имена на клиенти с помощта на изглед за търсене и след това след избор на клиент получавам продукти на този клиент, сега как мога да покажа продукти и в друг изглед за търсене? Можете ли да кажете - person fazilpuriasa; 23.04.2015
comment
всъщност сега съм зает - person Nooh; 23.04.2015