2012-06-20 2 views
-2
06-20 22:53:42.240: E/AndroidRuntime(657): FATAL EXCEPTION: main 
    06-20 22:53:42.240: E/AndroidRuntime(657): java.lang.NullPointerException 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:355) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.widget.AbsListView.obtainView(AbsListView.java:1430) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.widget.ListView.measureHeightOfChildren(ListView.java:1216) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.widget.ListView.onMeasure(ListView.java:1127) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.view.View.measure(View.java:8313) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.widget.LinearLayout.measureVertical(LinearLayout.java:386) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.view.View.measure(View.java:8313) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.view.View.measure(View.java:8313) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.widget.LinearLayout.measureVertical(LinearLayout.java:531) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.view.View.measure(View.java:8313) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.view.View.measure(View.java:8313) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.view.ViewRoot.performTraversals(ViewRoot.java:839) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.view.ViewRoot.handleMessage(ViewRoot.java:1859) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.os.Handler.dispatchMessage(Handler.java:99) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.os.Looper.loop(Looper.java:123) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at android.app.ActivityThread.main(ActivityThread.java:3683) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at java.lang.reflect.Method.invokeNative(Native Method) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at java.lang.reflect.Method.invoke(Method.java:507) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
    06-20 22:53:42.240: E/AndroidRuntime(657): at dalvik.system.NativeStart.main(Native Method) 
    06-20 22:53:44.380: I/Process(657): Sending signal. PID: 657 SIG: 9 

Может кто-нибудь, пожалуйста, скажите мне, что говорит этот журнал ошибок?Сообщение об ошибке при создании списка

public class Timetablledisplay extends Activity { 

ListView lv; 
TextView tv; 
TextView td; 

Gallery myHorizontalListView1; 
Gallery myHorizontalListView2; 
Gallery myHorizontalListView3; 
Gallery myHorizontalListView4; 
Gallery myHorizontalListView5; 
Gallery myHorizontalListView6; 


static int position; 
int datepos=0; 
Button back,front; 

TextView e1,e2,e3,e4,e5,e6; 

String p0[]={"Free","Free","Free","Free","Free","Free"}; 
String p01[]={"Free","Free","Free","Free","Free","Free"}; 
String p1[]=new String[40]; 
String p2[]=new String[40]; 
String p3[]=new String[40]; 
String p4[]=new String[40]; 
String p5[]=new String[40]; 
String p6[]=new String[40]; 

String sub[]=new String[40]; 
String sub1[]=new String[40]; 
String sub2[]=new String[40]; 
String sub3[]=new String[40]; 
String sub4[]=new String[40]; 
String sub5[]=new String[40]; 

String[] sw=new String[23]; 
String restoredText,restoredText1,restoredText2; 


String x[]={"Attended","Bunked","Free Hour"}; 
String x1[]={"Attended","Bunked","Holiday"}; 


Calendar c = Calendar.getInstance(); 
Date newDate1; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.timetabledisplay); 
    try{ 
     getSettings(); 
     getTimeTablesetting(); 


     Log.d("ERRRRRORRR",""+p1[0]); 

     lv=(ListView)findViewById(R.id.listView1); 
     tv=(TextView)findViewById(R.id.textdate); 
     td=(TextView)findViewById(R.id.textday); 

     c.add(Calendar.DATE, 0); 
     newDate1 = c.getTime(); 

     td.setText(setdate(newDate1.getDay())); 
     try{ 
      int i; 
      //get it from database 
      for(i=0;i<ProjectBunkitActivity.pos;i++){ 
       p1[i]=sub[i]; 
       p2[i]=sub1[i]; 
       p3[i]=sub2[i]; 
       p4[i]=sub3[i]; 
       p5[i]=sub4[i]; 
       p6[i]=sub5[i]; 
      } 
      Log.d("ERRRRRORRR",""+p1[0]); 
      dateUpdate(); 
      Log.d("DATEUPDATE", "HGJVVM"); 

      front=(Button)findViewById(R.id.fwdarrow); 
      back=(Button)findViewById(R.id.bckarrow); 


      Log.d("DBBBBBBPOSITION5",""+position); 


      Calendar cal=Calendar.getInstance(); 
      Date newd=cal.getTime(); 
      Log.d("date",""+newd.getDay()); 
      try{ 
       if(setdate(newDate1.getDay())=="MON") 
       { 
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
          R.layout.listarray, android.R.id.text1, p1); 
        lv.setAdapter(adapter); 
       } 
       else if(setdate(newDate1.getDay())=="TUE"){ 

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
          R.layout.listarray, android.R.id.text1, p2); 
        lv.setAdapter(adapter); 

       } 
       else if(setdate(newDate1.getDay())=="WED"){ 

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
          R.layout.listarray, android.R.id.text1, p3); 
        lv.setAdapter(adapter); 

       } 
       else if(setdate(newDate1.getDay())=="THU"){ 

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
          R.layout.listarray, android.R.id.text1, p4); 
        lv.setAdapter(adapter); 

       } 
       else if(setdate(newDate1.getDay())=="FRI"){ 

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
          R.layout.listarray, android.R.id.text1, p5); 
        lv.setAdapter(adapter); 

       } 
       else if(setdate(newDate1.getDay())=="SAT"){ 

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
          R.layout.listarray, android.R.id.text1, p6); 
        lv.setAdapter(adapter); 

       } 
       else 
       { 

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
          R.layout.listarray, android.R.id.text1, p1); 
        lv.setAdapter(adapter); 


       } 



      }catch (Exception e) { 
       // TODO: handle exception 
      } 




      lv.setOnItemClickListener(new OnItemClickListener() { 

       @Override 
       public void onItemClick(AdapterView<?> arg0, View arg1, final int arg2, 
         long arg3) { 
        // TODO Auto-generated method stub 

        AlertDialog.Builder builder = new AlertDialog.Builder(Timetablledisplay.this); 
        builder.setTitle("Pick a choice"); 
        builder.setSingleChoiceItems(x, -1, new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int item) { 
          //Toast.makeText(getApplicationContext(), x[item], Toast.LENGTH_SHORT).show(); 

          if(newDate1.getDay()==1){ 
           changeLabel(arg2, item, p1, 1); 
          } 
          else if(newDate1.getDay()==2){ 
           changeLabel(arg2, item, p2, 2); 
          } 
          else if(newDate1.getDay()==3){ 
           changeLabel(arg2, item, p3, 3); 
          } 
          else if(newDate1.getDay()==4){ 
           changeLabel(arg2, item, p4, 4); 
          } 
          else if(newDate1.getDay()==5){ 
           changeLabel(arg2, item, p5, 5); 
          } 
          else if(newDate1.getDay()==6){ 
           changeLabel(arg2, item, p6, 6); 
          } 
          else{ 
           changeLabel(arg2, item, p0, 7); 
          } 
          updateview(); 
          dialog.dismiss(); 
          DBmanager(attendance(),newDate1); 
          //defaultview(); 
          Log.d("aaaaaaaaaaaaaaaaaaaaa","bbbbbbbbbbbbbbbbbbbbbbbb"); 

         } 
        }); 
        AlertDialog alert = builder.create(); 
        alert.show();    


       } 
      }); 



      back.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 

        newDate1.setDate(newDate1.getDate()-1); 
        update(newDate1); 

        if(updateViewUsingDB()==null){ 

         defaultview(); 

        } 
        else 
        { 


         switch (newDate1.getDay()) 
         { 
         case 0: 
          p0=updateViewUsingDB(); 
          break; 
         case 1: 
          p1=updateViewUsingDB(); 
          break; 
         case 2: 
          p2=updateViewUsingDB(); 
          break; 
         case 3: 
          p3=updateViewUsingDB(); 
          break; 
         case 4: 
          p4=updateViewUsingDB(); 
          break; 
         case 5: 
          p5=updateViewUsingDB(); 
          break; 
         case 6: 
          p6=updateViewUsingDB(); 
          break; 
         default: 

         } 


        }     
        updateview(); 
        DBmanager(attendance(),newDate1); 




       } 
      }); 
      front.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 

        newDate1.setDate(newDate1.getDate()+1); 
        update(newDate1); 

        if(updateViewUsingDB()==null){ 

         defaultview(); 

        } 
        else 
        { 


         switch (newDate1.getDay()) 
         { 
         case 0: 
          p0=updateViewUsingDB(); 
          break; 
         case 1: 
          p1=updateViewUsingDB(); 
          break; 
         case 2: 
          p2=updateViewUsingDB(); 
          break; 
         case 3: 
          p3=updateViewUsingDB(); 
          break; 
         case 4: 
          p4=updateViewUsingDB(); 
          break; 
         case 5: 
          p5=updateViewUsingDB(); 
          break; 
         case 6: 
          p6=updateViewUsingDB(); 
          break; 
         default: 

         } 


        } 
        updateview(); 
        DBmanager(attendance(),newDate1); 



       } 
      }); 




      Log.d("DBBBBBBPOSITION2JGH",""+position); 


      DBmanager(attendance(),newDate1); 

     }catch (Exception e) { 
      // TODO: handle exception 
     } 

    }catch (Exception e) { 
     // TODO: handle exception 


     Log.d("ERRRRRORRR","DONE"); 


    } 


} 


public void defaultview(){ 
    try{ 
     for(int i=0;i<ProjectBunkitActivity.pos;i++){ 
      p1[i]=sub[i]; 
      p2[i]=sub1[i]; 
      p3[i]=sub2[i]; 
      p4[i]=sub3[i]; 
      p5[i]=sub4[i]; 
      p6[i]=sub5[i]; 
     } 
    }catch (Exception e) { 
     // TODO: handle exception 
    } 




} 

public String attendance(){ 

    String attn=null; 
    try{ 
     switch (newDate1.getDay()) 
     { 
     case 0: 
      attn=stringConcat(p0); 
      break; 
     case 1: 
      attn=stringConcat(p1); 
      break; 
     case 2: 
      attn=stringConcat(p2); 
      break; 
     case 3: 
      attn=stringConcat(p3); 
      break; 
     case 4: 
      attn=stringConcat(p4); 
      break; 
     case 5: 
      attn=stringConcat(p5); 
      break; 
     case 6: 
      attn=stringConcat(p6); 
      break; 
     default: 
      attn=stringConcat(p0);  
     } 
    }catch (Exception e) { 
     // TODO: handle exception 
    } 
    return attn; 


} 


public void DBmanager(String attendance,Date theDate){ 



    try{ 
     Random rand=new Random(); 

     int i=newDate1.getDate(); 
     String s=setdate(newDate1.getDay()); 
     String mnth=setmon(newDate1.getMonth()); 
     long timevar=newDate1.getTime(); 

     int k; 
     k=(100*newDate1.getDate())+newDate1.getMonth(); 
     SQLiteDatabase db=openOrCreateDatabase("bunkDBNxTGeN", MODE_PRIVATE, null); 

     ContentValues cv= new ContentValues(); 
     cv.put("curId", position); 
     cv.put("curPos",k); 
     cv.put("curDay",s); 
     cv.put("curDate",i); 
     cv.put("curMnth",mnth); 
     cv.put("curAttend",attendance); 
     cv.put("curTime", timevar); 

     position=rand.nextInt(10000-0)+0; 


     db.execSQL("CREATE TABLE IF NOT EXISTS theTable(curId INT(3),curPos INT(3),curTime INT(20),curDate INT(2),curDay VARCHAR,curMnth VARCHAR,curAttend VARCHAR);"); 

     db.insert("theTable",null, cv); 


     Cursor c=db.rawQuery("SELECT * FROM theTable", null); 
     c.moveToLast(); 
     Log.d("DB Message1", c.getString(c.getColumnIndex("curId"))); 
     Log.d("DB Message1", c.getString(c.getColumnIndex("curPos"))); 
     Log.d("DB Message2", c.getString(c.getColumnIndex("curDate"))); 
     Log.d("DB Message3", c.getString(c.getColumnIndex("curDay"))); 
     Log.d("DB Message4", c.getString(c.getColumnIndex("curMnth"))); 
     Log.d("DB Message5", c.getString(c.getColumnIndex("curAttend"))); 
     Log.d("DB Message6", c.getString(c.getColumnIndex("curTime"))); 



     db.execSQL("CREATE TABLE temp AS SELECT * FROM theTable ORDER BY curTime"); 
     db.execSQL("DROP TABLE theTable"); 
     db.execSQL("ALTER TABLE temp RENAME TO theTable"); 
     db.execSQL("DELETE FROM theTable WHERE curId NOT IN (SELECT curId FROM theTable GROUP BY curPos);"); 

     c.close(); 
     db.close(); 



    }catch (Exception e) { 
     // TODO: handle exception 
     Log.d("DB Message Error",e.toString()); 


    } 



} 
@SuppressWarnings("finally") 
public String stringConcat(String [] arr){ 


    String str = ""; 
    try{ 
     for (int i = 0;i<arr.length; i++) { 
      str = str+arr[i]; 
      if(i<arr.length-1){ 
       str = str+","; 
      } 
     } 

    }catch (Exception e) { 
     // TODO: handle exception 
    } 
    finally{ 

     return str; 
    } 


} 


@SuppressWarnings("finally") 
public String [] stringUncat(String str) 
{ 
    String[] arr=null; 
    try{ 

     arr= str.split(","); 
    }catch (Exception e) { 
     // TODO: handle exception 
    } 
    finally{ 
     return arr; 
    } 

} 

public String[] updateViewUsingDB(){ 



    int curDate; 
    curDate=(100*newDate1.getDate())+newDate1.getMonth(); 

    String s12=null; 
    String s123[]; 
    int index,x; 
    SQLiteDatabase db=openOrCreateDatabase("bunkDBNxTGeN", MODE_PRIVATE, null); 

    try{ 
     if (db == null) { 
      Log.d("Database", "Not Found!!!"); 
     } 
     else { 


      Cursor c=db.rawQuery("SELECT * FROM theTable", null); 
      c.moveToFirst(); 
      index=c.getColumnIndex("curPos"); 
      x=Integer.parseInt(c.getString(index)); 
      while(index!=-1) 
      { 
       if(x==curDate) 
       { 

        s123=stringUncat(c.getString(c.getColumnIndex("curAttend"))); 
        db.close(); 
        return s123; 

       } 
       else{ 

        c.moveToNext(); 
        index=c.getColumnIndex("curPos"); 
        x=Integer.parseInt(c.getString(index)); 

       } 
      } 

      Log.d("DATABASE","UREAKAAAAAAAAAAAAAAAA"+s12); 



     } 
     db.close(); 

    }catch (Exception e) { 
     // TODO: handle exception 
     Log.d("DATABASE INFO",e.toString()); 
     db.close(); 

    } 

    db.close(); 
    return null; 





} 


public void updateview() 
{ 
    Log.d("DATEUPDATAVSCXZVAQAndlekdn", p1[0]); 

    try{ 

     Log.d("DATEUPDAfSFSffdsFSDFAFkSDACDCSDndlekdn", p1[0]); 


     if(setdate(newDate1.getDay())=="MON") 
     { 
      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
        R.layout.listarray, android.R.id.text1, p1); 
      lv.setAdapter(adapter); 
     } 
     else if(setdate(newDate1.getDay())=="TUE"){ 

      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
        R.layout.listarray, android.R.id.text1, p2); 
      lv.setAdapter(adapter); 
      Log.d("DATEUPDATFwegfegewgRGSggekndlekdn", p1[0]); 


     } 
     else if(setdate(newDate1.getDay())=="WED"){ 

      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
        R.layout.listarray, android.R.id.text1, p3); 
      lv.setAdapter(adapter); 

     } 
     else if(setdate(newDate1.getDay())=="THU"){ 

      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
        R.layout.listarray, android.R.id.text1, p4); 
      lv.setAdapter(adapter); 

     } 
     else if(setdate(newDate1.getDay())=="FRI"){ 

      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
        R.layout.listarray, android.R.id.text1, p5); 
      lv.setAdapter(adapter); 

     } 
     else if(setdate(newDate1.getDay())=="SAT"){ 

      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
        R.layout.listarray, android.R.id.text1, p6); 
      lv.setAdapter(adapter); 

     } 

     else 
     { 

      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
        R.layout.listarray, android.R.id.text1, p0); 
      lv.setAdapter(adapter); 


     } 
     Log.d("DATEUPDAEFWEGFRHTkndlekdn", p1[0]); 


    } 
    catch (Exception e) { 
     // TODO: handle exception 
    } 


} 


public void dateUpdate(){ 

    try{ 

     int m; 
     Calendar c = Calendar.getInstance(); 
     Date newDate = c.getTime(); 
     Log.d("DateXXX","heyyy"); 

     String s=setdate(newDate.getDay()); 
     String x=setmon(newDate.getMonth()); 

     Log.d("DATEEEEE",""+newDate.getDate()); 


     m=newDate.getDate(); 
     td.setText(s); 
     tv.setText(x+","+m); 
     updateview(); 
    } 
    catch (Exception e) { 

     Log.d("HEY THEREs An ERROR",e.toString()); 
    } 

} 
public void update(Date p) 
{ 
    try{ 
     int m; 

     String s=setdate(p.getDay()); 
     String x=setmon(p.getMonth()); 


     m=p.getDate(); 
     td.setText(s); 
     tv.setText(x+","+m); 
    } 
    catch (Exception e) { 

     Log.d("HEY THERE An ERROR",e.toString()); 
    } 




} 


private String setmon(int month) { 
    // TODO Auto-generated method stub 
    String d=null; 
    try{ 
     switch (month){ 

     case 0:d="JAN"; 
     break; 
     case 1:d="FEB"; 
     break; 
     case 2:d="MAR"; 
     break; 
     case 3:d="APL"; 
     break; 
     case 4:d="MAY"; 
     break; 
     case 5:d="JUN"; 
     break; 
     case 6:d="JULY"; 
     break; 
     case 7:d="AUG"; 
     break; 
     case 8:d="SEP"; 
     break; 
     case 9:d="OCT"; 
     break; 
     case 10:d="NOV"; 
     break; 
     case 11:d="DEC"; 
     break; 

     default:d="JAN"; 


     } 
    }catch (Exception e) { 
     // TODO: handle exception 
    } 
    return d; 
} 


private String setdate(int day) { 
    // TODO Auto-generated method stub 
    String d=null; 
    try{ 
     switch (day) 
     { 
     case 0:d="SUN"; 
     break; 
     case 1:d="MON"; 
     break; 
     case 2:d="TUE"; 
     break; 
     case 3:d="WED"; 
     break; 
     case 4:d="THU"; 
     break; 
     case 5:d="FRI"; 
     break; 
     case 6:d="SAT"; 
     break; 
     default:d="MON1"; 
     } 
    }catch (Exception e) { 
     // TODO: handle exception 
    } 
    return d; 
} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    try{ 
     MenuInflater inflater = getMenuInflater(); // 
     inflater.inflate(R.menu.menu, menu); // 
    }catch (Exception e) { 
     // TODO: handle exception 
    } 
    return true; 
} 



@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // TODO Auto-generated method stub 
    try{ 
     switch (item.getItemId()) { 
     case R.id.itemPrefs: 
      startActivity(new Intent(this, ProjectBunkitActivity.class)); 
      break; 
     case R.id.itemPrefs1: 
      startActivity(new Intent(this,Display.class)); 
     } 
    }catch (Exception e) { 
     // TODO: handle exception 
    } 


    return super.onOptionsItemSelected(item); 
} 


public String[] changeLabel(int i,int j,String[] p,int l) { 
    // TODO Auto-generated method stub 
    //p6[arg2]=x[item]; 
    try{ 
     String storage[][]={ 
       sub, 
       sub1, 
       sub2, 
       sub3, 
       sub4, 
       sub5,p01}; 

     //Toast toast = Toast.makeText(Timetablledisplay.this,storage[l-1][i],Toast.LENGTH_SHORT); 
     //toast.show(); 
     switch (j) { 
     case 0: 

      p[i]=storage[l-1][i]; 

      break; 
     case 1:p[i]="BNK"; 
     break; 

     case 2:p[i]="FREE"; 
     break; 

     default: 
      break; 
     } 


     DBmanager(attendance(),newDate1); 
    }catch (Exception e) { 
     // TODO: handle exception 
    } 
    return p; 

} 







@Override 
protected void onResume() { 
    // TODO Auto-generated method stub 
    super.onResume(); 


    try{ 
     Calendar ca=Calendar.getInstance(); 
     ca.add(Calendar.DATE, 0); 
     Date dres=ca.getTime(); 
     newDate1=dres; 

     Log.d("DATEUPDATE", "DONE"); 
     dateUpdate(); 

    } 
    catch (Exception e) { 
     // TODO: handle exception 
     Log.d("DATEUPDATE", e.toString()); 

    } 

} 



@Override 
protected void onPause() { 
    // TODO Auto-generated method stub 
    try{ 
     super.onPause(); 

     Log.d("DATqewDATE", "jhwedhjkebjd"); 
    }catch (Exception e) { 
     // TODO: handle exception 
    } 

    //  SharedPreferences.Editor editor = getPreferences(0).edit(); 
    //  editor.putInt("position",position);  
} 


@Override 
protected void onRestoreInstanceState(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onRestoreInstanceState(savedInstanceState); 
    Log.d("DATEUPDATE", "HGJVVM"); 

    try{ 
     p1=savedInstanceState.getStringArray("mond"); 
     p2=savedInstanceState.getStringArray("tued"); 
     p3=savedInstanceState.getStringArray("wedd"); 
     p4=savedInstanceState.getStringArray("thud"); 
     p5=savedInstanceState.getStringArray("frid"); 
     p6=savedInstanceState.getStringArray("satd"); 

     Calendar ca=Calendar.getInstance(); 
     ca.add(Calendar.DATE, 0); 
     Date dres=ca.getTime(); 
     newDate1=dres; 

     Log.d("DATEUPDATE1212", "DONE"); 
     dateUpdate(); 
    }catch (Exception e) { 
     // TODO: handle exception 
    } 

} 



@Override 
protected void onSaveInstanceState(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onSaveInstanceState(savedInstanceState); 
    try{ 
     savedInstanceState.putStringArray("mond", p1); 
     savedInstanceState.putStringArray("tued", p2); 
     savedInstanceState.putStringArray("wedd", p3); 
     savedInstanceState.putStringArray("thud", p4); 
     savedInstanceState.putStringArray("frid", p5); 
     savedInstanceState.putStringArray("satd", p6); 
    }catch (Exception e) { 
     // TODO: handle exception 
    } 
} 



@Override 
public void onBackPressed() { 
    // TODO Auto-generated method stub 

} 



public void getSettings(){ 



    try{ 

     SharedPreferences prefs = getSharedPreferences("myfile",0); 
     restoredText = prefs.getString("text", null); 
     restoredText1 = prefs.getString("cpd", null); 
     restoredText2= prefs.getString("nos", null); 

     int pos1=prefs.getInt("pos",1); 
     int l=0; 

     if (restoredText != null) { 

      Log.d("HHHHH", "Here"+pos1); 
      try{ 

       for(int j=0;j<=pos1-1;j++) 
       { 
        sw[l]=prefs.getString("sub"+l,null); 
        Log.d("DATA FROM PREFS",sw[l]); 
        l++; 

       } 
      } 
      catch(Exception e) 
      { 
       Toast toast = Toast.makeText(Timetablledisplay.this,e.toString()+"5",Toast.LENGTH_SHORT); 
       toast.show(); 

      } 
      getTimeTablesetting(); 


     } 
    }catch (Exception e) { 
     // TODO: handle exception 
    } 




} 




public void getTimeTablesetting(){ 



    SharedPreferences prefs = getSharedPreferences("myTime",0); 


    try{ 
     if(ProjectBunkitActivity.pos==prefs.getInt("pos",0)){ 
      if(prefs.getString("sub"+2, null) != null) 
      { 
       for(int i=0;i<prefs.getInt("pos",0);i++) 
       { 
        sub[i] = prefs.getString("sub"+i, null); 
        sub1[i] = prefs.getString("sub1"+i, null); 
        sub2[i] = prefs.getString("sub2"+i, null); 
        sub3[i] = prefs.getString("sub3"+i, null); 
        sub4[i] = prefs.getString("sub4"+i, null); 
        sub5[i] = prefs.getString("sub5"+i, null); 

        Log.d("DATA FROM PREFS FOR TIME TABLE",sub[i]+i); 

       } 
      } 
     } 
    }catch (Exception e) { 
     // TODO: handle exception 
     Log.d("DATA FROM PREFS FOR TIME TABLE","ERROR"); 

    } 



} 

} 

Этот код имеет некоторые значения от предпочтений и преобразует его в ListView и его обновление даты, когда задний или передняя кнопка является pressed.what также делает запись данных в БД

+1

У вас есть 'NullPointerException' в вашем' ArrayAdapter'. Проверь это. – Sajmon

+0

весь код находится в сети попыток-уловов ... Я не могу оставить одну строку – jaisonDavis

+0

, если вы считаете, что смотрят на строку, которая производит ошибку ... – Ixx

ответ

3

Там может быть только две возможные причины для этого NullPointerException:

  • Вы дали неправильный id для TextView где адаптер должен поместить данные. Например, если вам этот конструктор:

    ArrayAdapter<...>(Context, R.layout.layout_file, R.id.textview, List data);

Тогда R.id.textview не является id из View, присутствующего в R.layout.layout_file.

  • У вас есть значение null в List/array, который представляет данные, передаваемые в адаптер

У Вас есть TextView с id@android:id/text1 в файле R.layout.listarray макета? Если нет, это источник вашей проблемы.

Edit: Глядя на ваш код, проблема может быть те p1, p2 массивы. Вы объявляете их как размер 40, но вы заполняете все позиции в них? У вас есть 40 значения для размещения в этих массивах? Если нет, то в какой-то момент у вас будут только значения null, и адаптеру это не понравится.

Распечатайте значения в них до logcat и проверьте, есть ли у вас значения null в этих массивах. Если да, то это, скорее всего, ваша проблема.

+0

Я не думаю, что это проблема с представлением .... Я запускаю его раньше, и это сработало ... но на этот раз я использовал данные из префов вместо данных с намерения. После этого я начал эту проблему – jaisonDavis

+0

@jaisonDavis есть 'TextView' с id' @android: id/text1' в файле 'R.layout.listarray'? – Luksprog

+0

Да ............ – jaisonDavis

Смежные вопросы