Android控件应用:Edittext与TextView交互及自定义背景按钮

需积分: 3 2 下载量 20 浏览量 更新于2024-07-30 收藏 412KB DOC 举报
"这篇学习笔记主要探讨了Android应用中两种常见的控件——`EditText`和`TextView`的交互,以及如何设计具有背景图像的`ImageButton`。笔记内容涉及到监听`EditText`的用户输入、条件判断实现特定文字拦截,以及`ImageButton`的焦点改变和点击事件的处理。" 在Android开发中,`EditText`和`TextView`是两个非常基础且重要的控件。`EditText`用于接收用户的输入,而`TextView`通常用于展示文本信息。在笔记中提到,可以通过`EditText`的`OnKeyListener`接口来监听用户在`EditText`中的按键事件。当用户在`EditText`中输入或删除内容时,可以实时更新`TextView`的内容。例如,以下代码片段展示了如何设置`EditText`的监听器以同步更新`TextView`: ```java mEditText01.setOnKeyListener(new EditText.OnKeyListener() { @Override public boolean onKey(View arg0, int arg1, KeyEvent arg2) { mTextView01.setText(mEditText01.getText()); return false; } }); ``` 然而,笔记中提到的一个问题是在`EditText`中输入特定文字时,如"屁",希望拦截并替换为其他字符。这可以通过在`onKey`方法内添加条件判断实现: ```java if (mEditText01.getText().toString().equals("屁")) { mTextView01.setText("*"); } else { mTextView01.setText(mEditText01.getText()); } ``` 这里需要注意的是,判断字符串相等时,应该使用`equals()`方法而不是`==`,因为`==`比较的是对象的引用,而`equals()`比较的是字符串的内容。 接着,笔记提到了如何设计具有背景的按钮。在Android中,可以使用`ImageButton`来创建带有图像的按钮。首先,需要将按钮的背景图片放入`drawable`目录下。然后,通过`setImageResource()`方法设置`ImageButton`的背景。同时,为了处理按钮的焦点变化和点击事件,可以分别设置`OnFocusChangeListener`和`OnClickListener`: ```java mImageButton1.setOnFocusChangeListener(new View.OnFocusChangeListener() { // 通过OnFocusChangeListener来响应ImageButton的onFocus事件 @Override public void onFocusChange(View arg0, boolean isFocused) { // TODO Auto-generated method stub } }); mImageButton1.setOnClickListener(new View.OnClickListener() { // 设置OnClickListener来响应ImageButton的onClick事件 @Override public void onClick(View v) { // TODO Auto-generated method stub } }); ``` 此外,笔记中还提到了使用`ViewText`来显示`ImageButton`的状态,这可能是指在按钮状态改变时(如获得焦点或失去焦点)更新某个文本视图的内容,以提供视觉反馈。 这篇学习笔记深入介绍了Android开发中`EditText`、`TextView`以及`ImageButton`的基本使用和交互方式,对于初学者来说是非常实用的学习资料。通过这些基础知识,开发者可以构建出更丰富的用户界面,并能对用户输入和交互进行自定义处理。