java - 在android中创建alertbox时出错

标签 java android android-alertdialog

您好,我是 android 的新开发人员,我是一名培训师,我正在尝试创建一个警告框。

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

下面是我的代码

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

它正在移动到一个新页面,但警告框没有打开,以下是 logcat 中的错误

java.lang.NullPointerException 在我的代码行中

{

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 对象,因为它不存在。它仅在您调用 alertbox() 之后创建您的接缝

关于java - 在android中创建alertbox时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5368919/

相关文章:

java - AlertDialog 中的评级栏 : How to change the number of stars programmatically?

java - 如何获取文本文件中的句子并将其放入数组列表Java?

java - 是否可以在 Java 中使用类的构造函数并将其声明为另一个类中的数据类型?

android - 如何将 Activity Transition Animation 中的元素恢复到不同的位置?

java - 单击 Cardview 中的按钮打开对话框

java - 如何存储和检索从单个选项中选择的内容

java - 为什么 gzip 压缩缓冲区大小大于未压缩缓冲区?

java - 如何检查数据库事务中的数据?

android - 任何多平台网络应用程序移动 URL 桌面快捷方式?

android - 为什么在尝试访问 EditText 数据时出现空指针异常?