2010-02-19 4 views
0

친구,notifyDataSetChanged(); 소스가 예외를 찾을 수 없습니까?

나는 notifydatasetchanged() 호출에 문제가 있습니다. 예외 소스를 찾을 수 없습니다. 어떤 실수를 저지르고 있는지 안내해 드릴 수 있습니까? 내가 데이터를 할당하면 제대로 작동합니다. 하지만 목록을 업데이트하는 경우에는 그렇지 않습니다.

도움이 될 것입니다.

private static EfficientAdapter adap; //global variable 

@Override 
     public void onCreate(Bundle savedInstanceState) { 

super.onCreate(savedInstanceState); 
     setContentView(R.layout.listsearched); 
if(filevalue== "true") 
{ 
    adap = new EfficientAdapter(this); 
setListAdapter(adap); 


} 


} 
    private static void RefreshList() 
     { 
     data = new String[DalMapSearch.MyPassableObject.size()]; 
     TitleString=new String[DalMapSearch.MyPassableObject.size()]; 
     DetailString=new String[DalMapSearch.MyPassableObject.size()]; 

     int i=0; 
     for (DalMapSearch t : DalMapSearch.MyPassableObject) 
     { 
      data[i]= t.getAd_id(); 
      TitleString[i]= t.getAd_text(); 
      DetailString[i]=t.getLocation(); 
      i=i+1; 
     } 


     adap.notifyDataSetChanged(); 

     } 

답변

1

if (filevalue == "true")를 주석 처리하면 동일한 결과 (소스가 없습니다)입니까? 어댑터가 설정되어 있지 않으면 RefreshList()를 호출하지 마십시오. 예를 들어 fileValue == "false"가 생성되면 어댑터가 작성되지 않습니다.

+0

예, 실제로 다른 경우에는 listview에 adap을 설정하지 않고 notifydataset을 호출하는 동안 오류가 표시됩니다. – UMAR

관련 문제