2015-04-14 45 views
0

無法將中的數據傳遞到我的AutoComleteTextView的適配器。 Logcat告訴我:將數據從onPostExecute()傳遞給適配器

performFiltering()!期間發生異常! java.lang.NullPointerException:collection == null。

public class UzActivity extends Activity { 

private static final String DEBUG_TAG = "HttpExample"; 
List<String> responseList; 

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

    final String url = "http://booking.uz.gov.ua/purchase/station/%D0%9A%D0%B8%D0%B5/"; 
    new FetchStationTask().execute(url); 





    AutoCompleteTextView textView = (AutoCompleteTextView) 
      findViewById(R.id.autoCompleteTextView1); 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_dropdown_item_1line, responseList); 

    textView.setAdapter(adapter); 


} 

private class FetchStationTask extends AsyncTask<String, Void, String>{ 

    @Override 
    protected String doInBackground(String... urls) { 
     try { 
      return new UzFetcher().getUrlString(urls[0]); 
     } catch (IOException e) { 
      return "Unable to retrieve web page. URL may be invalid."; 
     } 
    } 

    @Override 
    protected void onPostExecute(String result){ 

     try { 
      ObjectMapper objectMapper = new ObjectMapper(); 
      objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); 
      StationResponse st = objectMapper.readValue(result, StationResponse.class); 
      responseList = new ArrayList<>(); 
      for (int i = 0; i<st.mStations.size(); i++){ 

        responseList.add(st.mStations.get(i).getTitle()); 

      } 


      Log.i(DEBUG_TAG, responseList.get(0)); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     Log.i(DEBUG_TAG, result); 

    } 
} 

回答

2

顯示java.lang.NullPointerException:收集== NULL。

ArrayList應該先初始化。

只需添加,

responseList = new ArrayList<String>();

setContentView();

相關問題