Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在android中创建alertbox时出错_Java_Android_Android Alertdialog - Fatal编程技术网

Java 在android中创建alertbox时出错

Java 在android中创建alertbox时出错,java,android,android-alertdialog,Java,Android,Android Alertdialog,嗨,我是android的新开发人员,我是一名培训师,我正在尝试创建一个提醒框 在我的项目中,我放置了两个编辑文本框,如果其中任何一个是空的,我想弹出一个警告框,如果两个框都填满了,它将移到一个新页面 下面是我的代码 { b = (Button)findViewById(R.id.widget30); et1 = (EditText)findViewById(R.id.et1); et2 = (EditText)findViewById(R.id.et2); b.se

嗨,我是android的新开发人员,我是一名培训师,我正在尝试创建一个提醒框

在我的项目中,我放置了两个编辑文本框,如果其中任何一个是空的,我想弹出一个警告框,如果两个框都填满了,它将移到一个新页面

下面是我的代码

{ b = (Button)findViewById(R.id.widget30);

    et1 = (EditText)findViewById(R.id.et1);
    et2 = (EditText)findViewById(R.id.et2);


    b.setOnClickListener(new View.OnClickListener() 
    {
        @Override
        public void onClick(View v) 
        {
            if(et1.getText().toString().length() == 0 )
            {
                et.setVisibility(View.VISIBLE);
                alertbox();
            }
            else if (et2.getText().toString().length() == 0)
            {
                et.setVisibility(View.VISIBLE);
                alertbox();
            }
            else
            {
            main.this.finish();
            Intent myIntent = new Intent(v.getContext(), T.class);
             startActivityForResult(myIntent, 0);
            }
        }               
    });
}


public void alertbox() 
{
    et = new TextView(this);
    Builder alert =new AlertDialog.Builder(main.this);
    alert.setTitle("Alert");
    alert.setMessage("Required all fields");
    alert.setView(et);
    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener()
    {
         public void onClick(DialogInterface dialog, int whichButton)
         {
            dialog.cancel();
         }
    });
    AlertDialog alert1 = alert.create();
    alert1.show();
}
}
{

if(et1.getText().toString().length() == 0 )
                {
                    et.setVisibility(View.VISIBLE);
                    alertbox();
                }
                else if (et2.getText().toString().length() == 0)
                {
                    et.setVisibility(View.VISIBLE);
                    alertbox();
                }
}
}
它正在移到新页面,但警报框未打开,以下是logcat中的错误

java.lang.NullPointerException
在下面的代码行中

{ b = (Button)findViewById(R.id.widget30);

    et1 = (EditText)findViewById(R.id.et1);
    et2 = (EditText)findViewById(R.id.et2);


    b.setOnClickListener(new View.OnClickListener() 
    {
        @Override
        public void onClick(View v) 
        {
            if(et1.getText().toString().length() == 0 )
            {
                et.setVisibility(View.VISIBLE);
                alertbox();
            }
            else if (et2.getText().toString().length() == 0)
            {
                et.setVisibility(View.VISIBLE);
                alertbox();
            }
            else
            {
            main.this.finish();
            Intent myIntent = new Intent(v.getContext(), T.class);
             startActivityForResult(myIntent, 0);
            }
        }               
    });
}


public void alertbox() 
{
    et = new TextView(this);
    Builder alert =new AlertDialog.Builder(main.this);
    alert.setTitle("Alert");
    alert.setMessage("Required all fields");
    alert.setView(et);
    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener()
    {
         public void onClick(DialogInterface dialog, int whichButton)
         {
            dialog.cancel();
         }
    });
    AlertDialog alert1 = alert.create();
    alert1.show();
}
}
{

if(et1.getText().toString().length() == 0 )
                {
                    et.setVisibility(View.VISIBLE);
                    alertbox();
                }
                else if (et2.getText().toString().length() == 0)
                {
                    et.setVisibility(View.VISIBLE);
                    alertbox();
                }
}
}
请帮我确定我在这条线上可能犯了什么错误

 et.setVisibility(View.VISIBLE);

et
是一个
null
对象,因为它不存在。只有在调用AltReBox()

之后,才能创建它。您应该考虑查看文档:

Android SDK通过showDialog()和dismissDialog()方法为您处理对话框。您需要添加onCreateDialog方法,并在此处添加创建代码

Android也会在对话框创建后重用它,而在您的代码中,您每次都会创建一个新的对话框

这是你能做的最基本的事情,还有更多的选择

b.setOnClickListener(new OnClickListener() 
{
    @Override
    public void onClick(View v) 
    {
        if(et1.getText().toString().length() == 0 )
        {

            alertbox();
        }
        else if (et2.getText().toString().length() == 0)
        {

            alertbox();
        }
        else
        {
         Intent myIntent = new Intent(main.this, T.class);
         startActivity(myIntent);
        }
    }               
});`