2016-05-23 7 views
1

Row_Cursor_Adapterをグローバルに追加し、Service_ivr AsyncTaskのonPostExecute()メソッドを追加した後に変更を加えました。これは更新されたコードです。AsyncTAskのsetAdapterでエラーが発生していますか?

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

     @Override 
     protected String doInBackground(String... param) 
     { 
      SoapObject request = new SoapObject(NAMESPACE ,METHOD_NAME); 
      request.addProperty("user_id",param[0]); 
      SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
      envelope.bodyOut=request; 
      envelope.dotNet =true; 
      envelope.setOutputSoapObject(request); 

      try 
      { 
       HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 
       androidHttpTransport.call(SOAP_ACTION, envelope); 
       SoapObject obj2 = (SoapObject)envelope.getResponse(); 
       int count = obj2.getPropertyCount(); 
       index = count/7; 
       final lead_content_IVR [] total_ivr_data = new lead_content_IVR[index]; 
       for(int i=0; i<index ;i++) 
       { 
        String call_duration; 
        String lead_id = obj2.getPropertyAsString(i*7+0); 
        String lead_call_from = obj2.getPropertyAsString(i*7+1); 
        String lead_call_to = obj2.getPropertyAsString(i*7+2); 
        String lead_date=obj2.getPropertyAsString(i*7+3); 
        String lead_audio=obj2.getPropertyAsString(i*7+4); 
        String assign_id = obj2.getPropertyAsString(i*7+5); 
        String time = obj2.getPropertyAsString(i*7+6); 
        if(lead_call_from.equals("Welcome Sound") || lead_call_from.equals("Call Missed") || lead_call_from.equals("User Disconnected") || lead_call_from.equals("Customer Missed")) 
        { 
         call_duration= "5 sec"; 
        } 
        else 
        { 
         call_duration = time.toString().concat(" sec"); 
        } 

        total_ivr_data[i] = new lead_content_IVR(lead_id,lead_call_from,lead_call_to,lead_date,lead_audio,assign_id,call_duration); 
       } 

       adapter = new RowCursorAdapter_IVR(Activity_IVR_Lead.this, R.layout.listview_layout_ivr,total_ivr_data); 





      }catch(Exception e) 
      { 
       e.printStackTrace(); 
      } 
      return null; 
     } 

     @Override 
     protected void onPostExecute(String s) { 
      super.onPostExecute(s); 
      listView.setAdapter(adapter); 
     } 
    } 

私はコードを更新することをお勧めしますが、エラーは常に同じです。

+0

移動 'listView.setAdapter(アダプタ);' onPostExecute方法の迅速な対応のための –

+0

おかげ内側の線は... – Manish

+0

は(文字列をシンボル – Manish

答えて

0

の変更のようなあなたの方法はとても

class service_ivr extends AsyncTask<String, Void, String> 
{ 
    @Override 
    protected lead_content_IVR[] doInBackground(String... param) 
    { 
     SoapObject request = new SoapObject(NAMESPACE ,METHOD_NAME); 
     request.addProperty("user_id",param[0]); 
     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
     envelope.bodyOut=request; 
     envelope.dotNet =true; 
     envelope.setOutputSoapObject(request); 
     lead_content_IVR [] total_ivr_data = null; 
     try 
     { 
      HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 
      androidHttpTransport.call(SOAP_ACTION, envelope); 
      SoapObject obj2 = (SoapObject)envelope.getResponse(); 
      int count = obj2.getPropertyCount(); 
      index = count/7; 
      total_ivr_data = new lead_content_IVR[index]; 
      for(int i=0; i<index ;i++) 
      { 
       String call_duration; 
       String lead_id = obj2.getPropertyAsString(i*7+0); 
       String lead_call_from = obj2.getPropertyAsString(i*7+1); 
       String lead_call_to = obj2.getPropertyAsString(i*7+2); 
       String lead_date=obj2.getPropertyAsString(i*7+3); 
       String lead_audio=obj2.getPropertyAsString(i*7+4); 
       String assign_id = obj2.getPropertyAsString(i*7+5); 
       String time = obj2.getPropertyAsString(i*7+6); 
       if(lead_call_from.equals("Welcome Sound") || lead_call_from.equals("Call Missed") || lead_call_from.equals("User Disconnected") || lead_call_from.equals("Customer Missed")) 
       { 
        call_duration= "5 sec"; 
       } 
       else 
       { 
        call_duration = time.toString().concat(" sec"); 
       } 

       total_ivr_data[i] = new lead_content_IVR(lead_id,lead_call_from,lead_call_to,lead_date,lead_audio,assign_id,call_duration); 
      } 
     }catch(Exception e) 
     { 
      e.printStackTrace(); 
     } 
     return total_ivr_data; 
    } 

    public void onPostExecute(lead_content_IVR [] total_ivr_data) { 
     RowCursorAdapter_IVR adapter = new RowCursorAdapter_IVR(Activity_IVR_Lead.this, R.layout.listview_layout_ivr,total_ivr_data); 
     listView.setAdapter(adapter); 
    } 
} 
関連する問題