Android中关于TextUtils工具的使用

当我们在进行一个字符串操作的时候,为了代码的严谨性,我们需要对我们即将操作的字符串进行非空判断,保证不要报空指针异常。这时候很多小伙伴想到了TextUtils.isEmpty的方法。但其实TextUtils不止有这一个方法。这里我列举出TextUtils中常用的四个方法,供大家需要时查阅。

  • isEmpty:判断字符串是否为空值。
  • getTrimmedLength:获取字符串去除头尾空格之后的长度。
  • isDigitsOnly:判断字符串是否全部由数字组成。
  • ellipsize:如果字符串超长,则返回按规则截断并添加省略号的字符串。

前三个就不需要多说了,主要是第四个TextUtils.ellipsize的用法我这里提一下。

tv_info.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
                    tv_info.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                }
                String name = (String) TextUtils.ellipsize(str,tv_info.getPaint(),tv_info.getWidth(),TextUtils.TruncateAt.END);
            }
        });

TextUtils.ellipsize的用法如上所示,第一个参数就是我们要进行操作截取的字符串。第二个是我们所要显示这个这些字符的控件画笔,用我所示方法获取即可。第三个是文字要显示的长度,我们一般都是控件的长度。第四个是截图的位置。最后返回的内容就是我们可以看到的最终显示内容。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现用户注册操作的步骤如下: 1. 在布局文件添加用户名、密码、确认密码和注册按钮的控件,例如: ``` <EditText android:id="@+id/usernameEditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入用户名"/> <EditText android:id="@+id/passwordEditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入密码" android:inputType="textPassword"/> <EditText android:id="@+id/confirmPasswordEditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请确认密码" android:inputType="textPassword"/> <Button android:id="@+id/registerButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="注册"/> ``` 2. 在Java代码获取这些控件,并实现注册的逻辑,例如: ``` public class RegisterActivity extends AppCompatActivity { private EditText mUsernameEditText; private EditText mPasswordEditText; private EditText mConfirmPasswordEditText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_register); mUsernameEditText = findViewById(R.id.usernameEditText); mPasswordEditText = findViewById(R.id.passwordEditText); mConfirmPasswordEditText = findViewById(R.id.confirmPasswordEditText); } public void onRegisterButtonClick(View view) { String username = mUsernameEditText.getText().toString(); String password = mPasswordEditText.getText().toString(); String confirmPassword = mConfirmPasswordEditText.getText().toString(); if (TextUtils.isEmpty(username)) { Toast.makeText(this, "请输入用户名", Toast.LENGTH_SHORT).show(); return; } if (TextUtils.isEmpty(password)) { Toast.makeText(this, "请输入密码", Toast.LENGTH_SHORT).show(); return; } if (!TextUtils.equals(password, confirmPassword)) { Toast.makeText(this, "两次密码输入不一致", Toast.LENGTH_SHORT).show(); return; } // TODO: 将用户名和密码发送到服务器端进行注册 Toast.makeText(this, "注册成功", Toast.LENGTH_SHORT).show(); finish(); } } ``` 在上述代码,我们通过 `findViewById()` 方法获取注册界面上的控件,并在注册按钮的点击事件获取输入的用户名、密码和确认密码。然后,我们对输入的内容进行校验,如果用户名或密码为空或确认密码与密码不一致,则显示相应的提示信息并返回。如果输入的内容正确,则将用户名和密码发送到服务器端进行注册。在注册成功后,我们显示一个 Toast 提示用户注册成功,并关闭当前界面。 需要注意的是,我们在真正的注册逻辑,需要将用户名和密码发送到服务器端进行保存,并进行相应的错误处理,例如用户名已经存在等。此外,为了保护用户密码安全,我们通常会对密码进行加密处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值