1

에 글고 자동 완성 자료는, 여기 내 코드 onCreateView내가 전화 자동 완성 글고 기능입니다 조각 활동을 ArrayAdapter와

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.fragment_pegawai, container, false); 

    textAutoComplete = v.findViewById(R.id.autoCompleteTextView1); 
    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, heroes); 
    textAutoComplete.setAdapter(arrayAdapter); 
    textAutoComplete.setThreshold(1); 

    listView = v.findViewById(R.id.DaftarTextViewNamaPegawai); 

    return v; 
} 

내가 전화 문자열 영웅 ArrayAdapter와의에 대해 혼동하는 것이었다이다. 이 기능을 설정했습니다.

private void getJSON(final String urlWebService) { 

    class GetJSON extends AsyncTask<Void, Void, String> { 

     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
     } 


     @Override 
     protected void onPostExecute(String s) { 
      super.onPostExecute(s); 
      Toast.makeText(getContext(), s, Toast.LENGTH_SHORT).show(); 
      try { 
       loadIntoListView(s); 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
     } 

     @Override 
     protected String doInBackground(Void... voids) { 
      try { 
       URL url = new URL(urlWebService); 
       HttpURLConnection con = (HttpURLConnection) url.openConnection(); 
       StringBuilder sb = new StringBuilder(); 
       BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(con.getInputStream())); 
       String json; 
       while ((json = bufferedReader.readLine()) != null) { 
        sb.append(json + "\n"); 
       } 
       return sb.toString().trim(); 
      } catch (Exception e) { 
       return null; 
      } 
     } 
    } 
    GetJSON getJSON = new GetJSON(); 
    getJSON.execute(); 
} 

private void loadIntoListView(String json) throws JSONException { 
    JSONArray jsonArray = new JSONArray(json); 
    String[] heroes = new String[jsonArray.length()]; 
    for (int i = 0; i < jsonArray.length(); i++) { 
     JSONObject obj = jsonArray.getJSONObject(i); 
     heroes[i] = obj.getString("name"); 
    } 
    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, heroes); 
    listView.setAdapter(arrayAdapter); 
} 

EditText 안에 텍스트를 입력하려고하면 자동 완성이 아닙니다. 누구든지 나를 도울 수 있습니까?

답변

0

3 줄 코드 아래에 글을 작성하면 listview를 채울 수 있습니다.

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, heroes); 
     textAutoComplete.setAdapter(arrayAdapter); 
     textAutoComplete.setThreshold(1);