Как отправить идентификатор автозаполнения текста?

В моем приложении я использовал 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
после получения текста в моем автозаполнении текста... см. мой фоновый метод.. Я отправляю значения на сервер.. и вы проверили мой отредактированный файл класса.. я отредактировал ваш код.. это правильно? - person fazilpuriasa; 24.03.2015
comment
id отправляет, но он отправляет только id = 4.. я имею в виду, если я выбираю «aditya», но он отправляет id 4.. может занимать только 0-ю позицию.. - person fazilpuriasa; 24.03.2015
comment
он говорит красную строку под length(). Метод length() не определен для типа List‹SuggestGetSet›...... затем я попытался использовать размер вместо длины, но он ничего не отправляет.. - person fazilpuriasa; 24.03.2015
comment
это сработало, я удалил оператор break и использовал его с размером .. теперь он работает хорошо .. примите и проголосуйте .. спасибо - 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