2013-04-19 4 views
1

Android 앱에서 ListView 컨트롤을 채우려고합니다. 많은 코드 샘플을 살펴 봤는데 모두 이렇게하는 것이 좋습니다. 나는 다음과 같은 오류 얻을이 구현하려고 할 때, :ArrayAdapter에서 생성자가 정의되지 않았습니다.

생성자 ArrayAdapter와을 (MainActivity.ReadJsonTask, INT, ArrayList를)은 여기 뭐가 문제

protected void onPostExecute(String result){ 
     try{ 
      ListView lv = (ListView)findViewById(R.id.lstItems); 
      JSONObject jsonObj = new JSONObject(result); 

      ArrayList<String> items = new ArrayList<String>(); 
      Iterator<String> looper = jsonObj.keys(); 
      while(looper.hasNext()){ 
       String key = looper.next(); 
       items.add(jsonObj.get(key).toString()); 
      }    
      adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items); 
      lv.setAdapter(adapter); 

     }catch(Exception ex){ 
      Log.d("ReadAdscendJsonTask", ex.getLocalizedMessage()); 
     } 
    } 

을 정의되지? 감사!

+2

이 코드 조각을 내부 클래스에서 추측 하시겠습니까? Context에 대해''MainActivity.this''를 시도 할 수도 있습니다. – harism

+0

감사! 그게 효과가있어, 대답으로 게시 할 수 있습니까? – Pheepster

답변

1

이 코드는 내부 클래스에서 온 것 같습니다. 그리고이 경우 thisMainActivity 대신이 내부 클래스를 참조합니다. 매개 변수를 ArrayAdapter에 대해 MainActivity.this으로 변경하면 오류가 해결됩니다.

관련 문제