2012-04-25 61 views
1

我得到一個NullPointerException:的Android NullPointerException異常在android.view.ViewConfiguration

public void llenardatos(SQLiteDatabase db, int pos) { 

    ImgVector = new ImageView[50]; 
    String[] id = new String[] { String.valueOf(pos + 1) }; 

    EditText txttipo = (EditText) mContentView.findViewById(R.id.Txttipo); 
    EditText spalto = (EditText) mContentView.findViewById(R.id.Txtalto); 
    EditText splargo = (EditText) mContentView.findViewById(R.id.TxtLargo); 
    EditText spancho = (EditText) mContentView.findViewById(R.id.Txtancho); 
    EditText sobser = (EditText) mContentView 
      .findViewById(R.id.txtobservaciones); 
    EditText sphora = (EditText) mContentView.findViewById(R.id.Txthora); 
    EditText txtfecha = (EditText) mContentView.findViewById(R.id.txtfecha); 
    TextView txtlati = (TextView) mContentView 
      .findViewById(R.id.txtlatitud); 
    TextView txtlongi = (TextView) mContentView 
      .findViewById(R.id.txtlongitud); 

    Critico cr = new Critico(); 
    cr.seleccionar(db, id); 
    txttipo.setText("" + cr.getTipo()); 
    spalto.setText("" + cr.getAlto()); 
    splargo.setText("" + cr.getLargo()); 
    spancho.setText("" + cr.getAncho()); 
    sobser.setText("" + cr.getObservaciones()); 
    sphora.setText(cr.getHora()); 
    txtfecha.setText("" + cr.getFecha()); 
    txtlati.setText("" + cr.getLatitud()); 
    txtlongi.setText("" + cr.getLongitud()); 

    FotoCritico fc = new FotoCritico(); 
    ArrayList<String> datos = fc.seleccionartodos(db, id); 
    int i = datos.size(); 
    for (int contador = 0; contador < i; contador++) { 
     String dato = datos.get(contador); 
     Uri imgUri = Uri.parse(dato); 

     LinearLayout.LayoutParams lparams4 = new LinearLayout.LayoutParams(
       500, 250, 1f); 
     ImgVector[contador] = new ImageView(getActivity()); 
     ImgVector[contador].setLayoutParams(lparams4); 
     ImgVector[contador].setImageResource(R.drawable.fotoandroid); 
     ImgVector[contador].setId(contador); 
     ImgVector[contador].setPadding(0, 10, 0, 10); 
     lyn.addView(ImgVector[contador]); 
     // personas++; 
     ImgVector[contador].setImageURI(imgUri); 
    } 
} 

我得到一個NullPointerException:

04-25 08:39:57.630: E/AndroidRuntime(3358): FATAL EXCEPTION: main 
04-25 08:39:57.630: E/AndroidRuntime(3358): java.lang.NullPointerException 
04-25 08:39:57.630: E/AndroidRuntime(3358):  at android.view.ViewConfiguration.get(ViewConfiguration.java:276) 

Eclipse是沒有報告語法錯誤。我做錯了什麼?

+0

在FragConsultaCritico.java的第108行保留調試點,並將光標放在該行的所有使用變量上,以檢查哪一個變爲null。 – Pavandroid 2012-04-25 14:39:18

回答

0

當您嘗試訪問具有null值的對象時,會發生java.lang.NullPointerException。當你嘗試使用它時,變量'lyn'或'ImgVector [contador]'的值爲null。

要找出哪些變量的值是零,如果把一些語句有:

if (lyn == null) 
    Log.d("error", "lyn has null"); 

if (ImgVector[contador] == null) 
    Log.d("error", "ImgVector[contador] has null"); 

把這些線在整個代碼,if語句應該評估爲真,這將是現貨你需要確保變量被實例化。

相關問題