0

我有一个活动是使用布尔条件检查一些事情。如果布尔条件满足我需要转到下一页。但是,当条件手托设备获取故障随着NullPointerException我给下面的代码NullPointerException检测到布尔条件后,Android使用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? - 如果可能,发布堆栈跟踪 – 2012-02-22 10:06:02

+0

您可以发布Exception StackTrace吗?除非您没有在清单中定义Test2活动,或者您尝试使用空上下文,否则此代码中没有问题。 – daigoor 2012-02-22 10:08:21

回答

3

试试这个,

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

基本上意图需要上下文而不是一个类...

我doub't这(Intent sa=new Intent(Test.class,Test2.class);)将编译

1

第一个参数是一个Context,所以当你创建的意图,它应该是:

意向SA =新意图(测试。 This,Test2.class);

代替

意图SA =新意图(试验,Test2.class。);

这也应该工作:

意图SA =新意图(v.getContext(),Test2.class);

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

第一个参数应该是Test.this(上下文),则它不扔编译时误差Δθ