NullPointerException 当 Intent 使用 Android 检查布尔条件后?

发布于 2025-01-08 12:55:49 字数 2102 浏览 0 评论 0原文

我有一个活动正在使用布尔条件来检查某些内容。如果布尔条件满足我需要转到下一页。但是,当条件满足时,设备会因 NullPointerException 崩溃,我

给出了布尔条件下方的代码

 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();

                }

    }
    });

I have a activity am using a boolean condition to check some thing .if the boolean condition Satisfy i need to Go to The next Page. But When The condition Satisfy the Device get crash With NullPointerException Am giving The Code Below

The Boolean Condition

 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;

}

in button click

 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();

                }

    }
    });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

感受沵的脚步 2025-01-15 12:55:49

试试这个,

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

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

我怀疑这个 (Intent sa=new Intent(Test.class,Test2.class);) 会编译

try this,

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

basically intent needs context and not a class...

i doub't this (Intent sa=new Intent(Test.class,Test2.class);) will compile

流殇 2025-01-15 12:55:49

第一个参数是 Context,因此当您创建意图时,它应该是:

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

而不是

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

这也应该有效:

Intent sa=new Intent(v.getContext(),Test2.class);

The first argument is a Context so when you create the intent, it should be:

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

instead of

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

This should also work:

Intent sa=new Intent(v.getContext(),Test2.class);

享受孤独 2025-01-15 12:55:49
Intent sa=new Intent(Test.class,Test2.class);

第一个参数应该是Test.this(Context),这样不是会抛出编译时错误吗?

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

The first parameter should be Test.this(Context), is it not throwing a Compile-time error ??

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文