2012-11-22 29 views
0

我想用一個適配器和一個ArrayList的在Inicio.java宣佈從服務,例如:使用ArrayList和轉接其他類

在Inicio.java

public static AdaptadorImagenes adaptador; 
public static ArrayList<String> pathImagenes; 

    @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.layout_incio); 

      if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.HONEYCOMB_MR2) { 
       ActionBar actionBar = getActionBar(); 
       actionBar.hide(); 

      } 
      contexto = getApplicationContext(); 
      datos = new ArrayList<Integer>(); 
      pathImagenes = new ArrayList<String>(); 

      recojeDatosDeSesion(savedInstanceState); 
      adaptador = new AdaptadorImagenes(contexto); 

而且service.java

   Inicio.pathImagenes.add(pathImagen); 

活動啓動服務,但是當我嘗試執行Inicio.pathimagenes時,會返回我nullpointer異常。

+0

不要試圖使用屬於一個服務的活動對象。因此,像http://stackoverflow.com/questions/4300291/example-communication-between-activity-and-service-using-messaging – zapl

回答

1

只是初始化在聲明(不onCreate)名單:

public static ArrayList<String> pathImagenes = new ArrayList<String(); 
+0

公共靜態AdaptadorImagenes \t adaptador = new AdaptadorImagenes(); 沒有可以訪問Inicio類型的封閉實例。必須使用封閉的Inicio實例(例如x.new A(),其中x是Inicio的一個實例)來限定分配。 是的,但適配器?之前爲我工作,但我不知道我有什麼改變.. – colymore