当前位置: 首页 > 知识库问答 >
问题:

如果(String==null或String==“”)未激活[duplicate]

庄实
2023-03-14

我遇到了一个问题,我有三个if语句,每个语句都有if String==null或String==“”,即使getText没有给出任何值,这些语句也没有激活。

 @Override
public boolean onOptionsItemSelected(MenuItem item) {


    switch (item.getItemId()) {

        case R.id.action_two:

            final String hei = h.getText().toString();
            final String wei = w.getText().toString();
            String waist = wc.getText().toString();


            if (hei == null || wei == null ){
                final Animation animationFadeIn = AnimationUtils.loadAnimation(this, R.anim.fadein);
                checker.setText("Please, put your information in these spots!");
                checker.startAnimation(animationFadeIn);



            }

            else if (waist == null){

                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.setTitle("Are you sure?");
                builder.setMessage("If you let Waist circumference empty, we will ask it from you later.")
                        .setCancelable(true)
                        .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {

                                Intent i = new Intent(getApplicationContext(), number3.class);
                                i.putExtra("height" , hei);
                                i.putExtra("weight" , wei);
                                startActivity(i);
                                overridePendingTransition(R.anim.slide_in, R.anim.slide_out);

                            }


                        });
                AlertDialog alert = builder.create();
                alert.show();




            }

            else{

                Log.d("BMI Height" , String.valueOf(wei));
                Log.d("BMI Weight" , String.valueOf(hei));
                Intent i = new Intent(getApplicationContext(), healthcalculator3.class);
                i.putExtra("height" , hei);
                i.putExtra("WC" , waist);
                i.putExtra("weight" , wei);
                startActivity(i);
                overridePendingTransition(R.anim.slide_in, R.anim.slide_out);


            }

共有1个答案

山寒
2023-03-14

比较字符串的最佳方法是使用StringInstance.equals(“what to compare”),这样您的代码将是:

hei.equals("")

还可以使用字符串长度:

hei.length() > 0
 类似资料:
  • 对HTML进行编码转换,解决乱码问题。第一个参数表示期望输出的编码格式,第二个可选参数表示输入的内容的编码格式,第二参数不传则会尝试自动识别输入的内容的编码格式。 用法 $data = QueryList::get('https://top.etao.com')->encoding('UTF-8')->find('a')->texts(); print_r($data); $data = Que

  • 行动时刻 - 激活NULL领域 请按照以下步骤激活NULL域: 编辑FreeRADIUS配置目录下的proxy.conf文件,并更改以下部分: #realm NULL { # authhost = radius.company.com:1600 # accthost = radius.company.com:1601 # secret = testing123 #} 更改为: realm NUL

  • 我想从editText获取字符串值,所以我使用TextWatcher onTextChanged方法在我的私有string cName上设置string值。它设置并获得正确的值。 这是我的setter和getter公共类 但是当我想在其他方法中使用getter时,我总是得到私有字符串cName默认值“ggg ”,或者如果我留空,我将得到null。为什么私有字符串cName不停留在设定值上,我该如何

  • 问题内容: 我有一个将Android数据保存在其中的函数,但必须将数据转换为。 只要是我想保存为 以下是我的代码,只要值是 将上述转化为。 这是我决定要执行的操作,但是仍然无法将字符串值转换为每当它的。 然后功能 我应该如何对其进行更改以使其起作用? 问题答案: 不用编写自己的函数,而是使用try-catch的内部构造。您的问题是,or 或值本身是a,并且您在null引用上调用方法。请尝试以下操作

  • 我试图使用以下公式将Future[Seq[(String,String)]转换为Future[Seq[(String)]: 所以 sortedSeq 是 Future[Seq[(String, String)]] 但我一直得到错误: 我做错了什么?

  • 描述 (Description) 此方法将使用给定替换匹配给定正则表达式的此字符串的第一个子字符串替换。 语法 (Syntax) 以下是此方法的语法 - public String replaceFirst(String regex, String replacement) 参数 (Parameters) 这是参数的细节 - regex - 要与此字符串匹配的正则表达式。 replacement