您的位置:首页 > 移动开发 > Android开发

Android控件之EditView

2015-12-02 19:02 302 查看
EditView相比TextView来说多了输入功能,因此也就多了许多监听调用。

下面一个例子是第一行EditView输入名字内容,当失去焦点时,输入框颜色会变黑,再次获得焦点时,输入框先清空,等待输入。

package com.example.textview;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnFocusChangeListener;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {

private TextView textview1= null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

textview1=(TextView)findViewById(R.id.et);
textview1.setOnFocusChangeListener(FocusChanger);

}
private OnFocusChangeListener FocusChanger=new OnFocusChangeListener() {  // 监听焦点是否消失

@Override
public void onFocusChange(View v, boolean hasFocus) { // 第一个为控件,第二个参数为是否获得焦点

EditText clickEditText = (EditText)v;
String text=clickEditText.getText().toString().trim();
if(hasFocus){

clickEditText.setTextColor(Color.BLACK);
clickEditText.setText("");

Toast toast =Toast.makeText(getApplicationContext(), "请输入名字",Toast.LENGTH_SHORT );
toast.setGravity(0, 0, 900);
toast.show();

}
else
{

if(text.length()>0&&text.equals("请输入您的名字")==false)
{

clickEditText.setTextColor(Color.BLACK);
clickEditText.setText(text);
}
else
{
clickEditText.setText("请输入您的名字");
clickEditText.setTextColor(Color.GRAY);
}

}

}
};

}


xml文件:

<RelativeLayout 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"
tools:context="${relativePackage}.${activityClass}" >

<EditText
android:id="@+id/et"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:ems="10"
android:maxLength="10"
android:text="请输入您的名字"
android:textColor="#DDDDDD" >

<requestFocus />
</EditText>

<EditText
android:id="@+id/et2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/et"
android:ems="10"
android:text="点击转换焦点" />

</RelativeLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: