继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

EditText光标的移动

慕妹3146593
关注TA
已关注
手记 107
粉丝 14
获赞 39

在做项目时,我们可能会遇到当输入框的内容变化后让光标自动显示在下一个输入框,这样就省去了手工的点击,从而提高了效率。

requestFocus() 获取焦点  即光标的显示

setOnFocusChangeListener  监听EditText焦点变化   当获取焦点后 hasFocus 为true

 

spacer.gif

具体演示的代码:

xml布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    >    <EditText        android:id="@+id/et_name"        android:layout_width="match_parent"        android:layout_height="40dp"        android:hint="请输入姓名:" />     <EditText         android:id="@+id/et_pass"        android:layout_width="match_parent"        android:layout_height="40dp"        android:hint="请输入密码:" />      <Button          android:id="@+id/btn_request"          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:text="密码框获取焦点"          />      <Button          android:id="@+id/btn_lose"          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:text="密码框失去焦点"          /> </LinearLayout>


java代码:

package com.example.android_edittext; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnFocusChangeListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity {    private EditText mEtName,mEtPass;    private Button btnRequest,btnLose;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                        initView();        initEvents();    }     private void initEvents() { btnRequest.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { mEtName.setText("zm"); mEtPass.requestFocus(); } }); btnLose.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) {         mEtPass.setText("LP");         mEtName.requestFocus(); } }); mEtPass.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) {   if(hasFocus){//获取焦点   Toast.makeText(MainActivity.this, "密码框获取到焦点了", Toast.LENGTH_SHORT).show();   }else{//失去焦点   Toast.makeText(MainActivity.this, "密码框失去焦点了", Toast.LENGTH_SHORT).show();   }   } }); } private void initView() {   mEtName=(EditText) findViewById(R.id.et_name);   mEtPass=(EditText) findViewById(R.id.et_pass);   btnRequest=(Button) findViewById(R.id.btn_request);   btnLose=(Button) findViewById(R.id.btn_lose);     }     }


原文链接:http://www.apkbus.com/blog-813041-62906.html

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP