-2

我有這樣的代碼放到一個片段但如果要求在片段語境下它不工作:Fragmente和上下文

SimpleCursorAdapter ad1 = new SimpleCursorAdapter(**What i put here**, R.layout.spinner, cursor, from, to); 

如果這個代碼是爲活動這將是:

SimpleCursorAdapter(**This**, R.layout.spinner, cursor, from, to); 

請幫幫我。

回答

1

您應該使用getActivity()訪問片段的活動背景:

SimpleCursorAdapter ad1 = new SimpleCursorAdapter(getActivity(), R.layout.spinner, cursor, from, to); 

我希望這有助於。

+0

但是,返回Null ...以同樣的方式; – 2015-02-23 03:38:10

+0

什麼返回null? – iRuth 2015-02-23 03:39:25

+0

在這種情況下可能不想使用應用程序上下文(因爲適配器通常會處理查看通貨膨脹)。只需使用'getActivity()'。 – kcoppock 2015-02-23 04:19:45

0
SQLiteDatabase db = getActivity().openOrCreateDatabase("IbsPEC.db", Context.MODE_PRIVATE, null); 
      Spinner ddlPrdutor1 = (Spinner)getActivity().findViewById(R.id.ddlProdutor1); 
      Cursor cursor = db.rawQuery("SELECT rowid _id,_grupo, id, nome FROM PRODUTOR ORDER BY NOME", null); 

      String[] from = { "nome", "_id", "_grupo" }; 
      int[] to = { R.id.lblNome, R.id.lblId, R.id.lbl_id_FK };    

     SimpleCursorAdapter ad1 = new SimpleCursorAdapter(getActivity(), R.layout.spinner, cursor, from, to); 
     ad1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 


      ddlPrdutor1.setAdapter(ad1); 
      db.close(); 

在調試模式下,錯誤在發生:ddProdutor1.setAdapter(AD1); 僅返回異常NullPointer;這個班是一個片段。