2012-02-26 46 views
0
protected void onPostExecute(ArrayList<Container> result) { 
      if (exception != null) { 
       showAlert("Error", exception.getMessage()); 
      } 
      ArrayList<Container> containerList = result; 
      containerNames = new String[containerList.size()]; 
      containers = new Container[containerList.size()]; 
      SharedPreferences myprefs = getSharedPreferences("myCustomSharedPrefs", Context.MODE_PRIVATE); 
      String containerName = myprefs.getString("name", null).trim(); 
      if (containerList != null) { 
       for (int i = 0; i < containerList.size(); i++) { 
        Container container = containerList.get(i); 
        containers[i] = container; 
        containerNames[i] = container.getName().trim(); 
        if(containerNames[i].equals(containerName)) 
        { 
         abcd = containerList.get(i); 
         Log.d("value of abcd", abcd.getName()); 
        } 

       } 
      } 
      //abcd = containers[2]; 
      //setContainerList(); 
      loading = false; 
      new LoadCDNContainersTask().execute((Void[]) null); 
     } 

    } 

Log.d行不通的,因为没有价值的logcat的
我觉得可能是一个问题被打印的另一对象,因为里面的if语句可能无法访问的内容我无法从列表中提取对象?我得到一个空值,当我尝试存储它

+1

你应该跟踪输入的方法。你会知道异常的价值。顺便说一句,在java中也有一个调试器。 ;) – Snicolas 2012-02-26 07:57:08

+0

你是否检查过'containerName'的值不是'null'? – 2012-02-26 07:57:56

+0

@TedHopp是的,我检查它不是null。 – user1230904 2012-02-26 07:58:47

回答

0

我看到这两条线就出问题了。

containerNames = new String[containerList.size()]; 
    containers = new Container[containerList.size()]; 

它们应该分别具有类型规范String []和Container []。我也没有看到containerList考虑结果传入并且可以访问它的要点。

相关问题