0
public class MainActivity extends AppCompatActivity { 


    private AutoCompleteTextView autoCompleteTextView; 


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


     autoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView); 


     new HttpGetTask().execute("http://192.168.0.107/abc/translator.php"); 

    } 

    public class HttpGetTask extends AsyncTask<String, String, List<TranslatorModel>> { 


     @Override 
     protected List<TranslatorModel> doInBackground(String... params) { 
      HttpURLConnection connection = null; 
      BufferedReader reader = null; 


      try { 
       URL url = new URL(params[0]); 
       connection = (HttpURLConnection) url.openConnection(); 
       connection.connect(); 

       InputStream stream = connection.getInputStream(); 

       reader = new BufferedReader(new InputStreamReader(stream)); 

       StringBuffer buffer = new StringBuffer(); 

       String line = ""; 
       while ((line = reader.readLine()) != null) { 
        buffer.append(line); 
       } 

       String finalJson = buffer.toString(); 
       JSONArray parentArray = new JSONArray(finalJson); 

       List<TranslatorModel> translatorModelList = new ArrayList<>(); 


       for(int i= 0; i<parentArray.length();i++) { 

        JSONObject finalObject = parentArray.getJSONObject(i); 

        TranslatorModel translatorModel = new TranslatorModel(); 


         translatorModel.setEnglish(finalObject.getString("englishSentence")); 


         translatorModelList.add(translatorModel); 
        } 



       return translatorModelList; 

      } catch (MalformedURLException e) { 
       e.printStackTrace(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } finally { 
       if (connection != null) { 
        connection.disconnect(); 
       } 

       try { 
        if (reader != null) { 
         reader.close(); 
        } 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
      } 
      return null; 
     } 


     @Override 
     protected void onPostExecute(List<TranslatorModel> data) { 

      super.onPostExecute(data); 


     } 
    } 
} 

françaisSentence est un objet chaîne json. Les méthodes setter et getter sont définies dans une classe TranslatorModel. Je veux afficher les valeurs englishSentence dans mon autocompleteTextViewAfficher les données d'objets JSON dans Android AutoCompleteTextview

Problème: Quel code sera utilisé pour l'affichage des données dans le mode de saisie semi-automatique? Où ajouter la classe adaptar du tableau et quel code fonctionnera? Quel code sera utilisé sur la méthode PostExecute?

+0

de MainActivity.this d'utilisation. – siva35

Répondre

0

add ArrayAdapter intérieur méthode onPostExecute

@Override 
protected void onPostExecute(List<TranslatorModel> data) { 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,data); 

    autoCompleteTextView.setAdapter(adapter); 
    autoCompleteTextView.setThreshold(1); 



super.onPostExecute(data); 
} 
+0

J'ai une erreur dans votre code. et cette erreur est trouvée sur getActivity(). Que faire maintenant ? – Safiullah