0

У меня есть действие am, использующее логическое условие, чтобы проверить что-то. Если логическое условие Удовлетворительно, мне нужно перейти на следующую страницу. Но когда условие Удовлетворить Устройство получить аварии с NullPointerException даю код НижеNullPointerException Когда используется намерение Android После проверки булевского состояния?

булевой Состояние

boolean check() 
{ 

    boolean matches=false; 
    int falseFlag=0; 
    if(cc.length==picarray.length) 
    { 
     for (int i=0;i<cc.length;i++) 
     { 
      if(cc[i].equals(picarray[i])) 
      { 

       //---The Database Value Stored in Array is modified--- 

       xmin=X[i]-25; 
       xmax=X[i]+25; 
       ymin=Y[i]-25; 
       ymax=Y[i]+25; 

       //---Check Whether The Selected Password Is Inside The Array Values--- 

       if(xmin<realx[i]&&realx[i]<xmax) 
       { 
        System.out.println("TRUE"); 
       } 
       else 
       { 
        falseFlag++; 
        System.out.println("FALSE"); 

       } 
       if(ymin<realy[i]&&realy[i]<ymax) 
       { 

        System.out.println("TRUE"); 
       } 
       else 
       { 
        falseFlag++; 
        System.out.println("FALSE"); 

       } 

      } 
      else 
      { 
       falseFlag++; 
      } 



     } 

    } 
    else 
    { 
     falseFlag++; 
    } 
    if(falseFlag==0) 
    { 
     matches=true; 
    } 
    System.out.println("Authentication returns "+matches); 
    return matches; 

} 

в кнопку мыши

b.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 

    if(check()) 
       { 
        Intent sa=new Intent(Test.class,Test2.class); 
            startActivity(sa); 
        System.out.println("U R AUTHENTICATED"); 


       } 
       else 
       { 
        System.out.println("INVALID USER"); 
        Toast.makeText(getApplicationContext(), "INVALID USER", Toast.LENGTH_LONG).show(); 

       } 

    } 
    }); 
+2

Какая строка генерирует исключение NullpointerException? - если возможно, отправьте трассировку стека –

+0

Можете ли вы опубликовать Exception StackTrace? в этом коде нет проблемы, если вы не определили активность Test2 в манифесте или пытаетесь использовать нулевой контекст. – daigoor

ответ

3

попробовать это,

Intent sa=new Intent(getApplicationContext(),Test2.class); 

в основном цель требует контекста, а не класса ...

я doub't это (Intent sa=new Intent(Test.class,Test2.class);) компилирует

1

Первый аргумент является Context так, когда вы создаете намерение, оно должно быть:

Намерение са = новый Intent (Test. это, Test2.class);

вместо

Намерение са = новый Намерение (Тест класса, Test2.class.);

Это также должно работать:

Намерение са = новый Intent (v.getContext(), Test2.class);

1
Intent sa=new Intent(Test.class,Test2.class); 

Первый параметр должен быть Test.this (контекст), это не бросает ошибку во время компиляции ??

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