简体   繁体   English

无法使用实用方法来检查多个编辑文本是否为空,并在输出 toast 中使用自定义正确的编辑文本 ID

[英]unable to use utility method to check if multiple edittext are empty with custom correct edittext id in output toast

Thanks for reading this I am having difficulty a utility method meant to read all 20 edittexts and check if they are empty and return custom toast messages for instances of each editText being empty The utility method is called inside my onclicklistener as seen below.感谢您阅读本文我遇到了一个实用方法,该方法旨在读取所有 20 个编辑文本并检查它们是否为空,并为每个 editText 为空的实例返回自定义 toast 消息该实用方法在我的 onclicklistener 中被调用,如下所示。 Its called checkEmpty它叫做 checkEmpty

  btnRequest.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (checkEmpty(etPickupLocation, getActivity())) return;

            }
        });

see checkempty below请参阅下面的 checkempty

  public static boolean checkEmpty(EditText myEditText, Context context) {
        String editTextIdInt= String.valueOf(myEditText.getId());
        Log.d(TAG, "checkEmpty: editTextIdInt>> "+ myEditText.getId());
        String editTextIdStr = context.getString(Integer.parseInt(editTextIdInt));
        Log.d(TAG, "checkEmpty: editTextIdStr >>"+ editTextIdStr);

        if (myEditText.getText().toString().trim().length() == 0) {
            Toast.makeText(context, editTextIdStr+" is missing.", Toast.LENGTH_SHORT).show();
            return true;
        }
        return false;
    }

The issue is : I want to return the id of the editTextResource (etPickupLocation) as the second log output but instead i keep getting false问题是:我想返回 editTextResource (etPickupLocation) 的 id 作为第二个日志输出,但我一直得到 false

log output日志输出

2020-09-20 10:33:21.556 11445-11445/com.packagename.clasname D/UTILITYLOG: checkEmpty: editTextIdInt>> 2131230927
2020-09-20 10:33:21.556 11445-11445/com.packagename.clasname D/UTILITYLOG: checkEmpty: editTextIdStr >>false

All I want is to get the id of the editext bein passed into the method so i can return the right toast method or is there a better approach to doing this?我想要的只是获取传递到方法中的 editext 的 id,这样我就可以返回正确的 toast 方法,还是有更好的方法来做到这一点? Help me out guys帮帮我吧伙计们

Thanks so much to Mike Ms clarification I decided to use this approach instead since I cannot use an EditText's ID to retrieve a string resource.非常感谢 Mike Ms 的澄清,我决定改用这种方法,因为我无法使用 EditText 的 ID 来检索字符串资源。

  public static boolean checkEmpty(EditText myEditText, Context context) {
        Log.d(TAG, "checkEmpty: Obj" + myEditText.toString());
        String myObj = myEditText.toString();
        String OutputText="";
        if (myObj.contains("etPickupLocation")) {
            OutputText = "Sender Address";
        }else if (myObj.contains("etWhereTo")) {
            OutputText = "Recipient Address";
  } else {
            Log.d(TAG, "checkEmpty: >> DOING NOTHING");
            OutputText = "Something";

        }

        if (myEditText.getText().toString().trim().length() == 0) {
            Toast.makeText(context, "Enter "+OutputText+"." , Toast.LENGTH_SHORT).show();
            return true;
        }
        return false;
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM