Android之路-EditText组件

今天主要介绍的UI组件为

EditText

 

 

会演示回车键的使用        

自动完成输入内容的组件

 

1、回车键的使用

需要继承OnKeyListener接口

package cn.class3g.activity;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.Button;
import android.widget.EditText;

public class EditTextTestActivity extends Activity implements OnKeyListener{
    
	Button btn = null;
	EditText et = null;
	
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.onkey_layout);
        
        findViews();
    }
    
    private void findViews(){
    	btn = (Button) this.findViewById(R.id.button);
    	et = (EditText) this.findViewById(R.id.edit);
    	et.setOnKeyListener(this);
    }


	public boolean onKey(View v, int keyCode, KeyEvent event) {
		if(keyCode == KeyEvent.KEYCODE_ENTER){
			btn.setText(et.getText());
			et.setVisibility(View.GONE);
			btn.setVisibility(View.VISIBLE);		

		}
		
		return true;
	}
}

 

:Visibility()有三种,分别为GONE,INVISIBLE,VISILBE

                 两种状态:可视,不可视

不可视有GONE,INVISIBLE.

        GONE不可视,但是不占用位置

        INVISIBLE不可视,但是但用位置


 

2.onkey_layout文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <EditText 
        android:id="@+id/edit"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello"
        />
    
    <Button 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Button"
        android:id="@+id/button"
        
        android:visibility="gone"        
        />

</LinearLayout>


 

模拟器显示效果:

et.setVisibility(View.GONE);模式

 

点击手机键盘回车键

原来EditText被隐藏,EditTexttext中的文本显示在buttontext

 

模拟器显示效果:

et.setVisibility(View.INVISIBLE);

 

 

自动完成输入内容的组件

1、Activity文件

package cn.class3g.activity;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;

public class AutoCompleteActivity extends Activity {

	AutoCompleteTextView autoTx = null;
	MultiAutoCompleteTextView mautoTx = null;

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.auto_complete);
		findViews();

		String[] str = { "abc", "add", "axy", "aaaa", "bcd", "bbbd", "bdcc" };

		ArrayAdapter adapter = new ArrayAdapter(this,
				android.R.layout.simple_dropdown_item_1line, str);

		autoTx.setAdapter(adapter);
		
		//-------MulitAutoCompleteTextView
		mautoTx.setAdapter(adapter);
		mautoTx.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
		
	}

	private void findViews() {
		autoTx = (AutoCompleteTextView) findViewById(R.id.autoTx);
		mautoTx = (MultiAutoCompleteTextView) findViewById(R.id.mautoTx);
	}

}


 

2、auto_complete.xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <AutoCompleteTextView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/autoTx"
        />
    
    <MultiAutoCompleteTextView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/mautoTx"
        />

</LinearLayout>


 

模拟器显示效果:

当输入bb时,底部自动出现代码中存入的字符串

 

注:如果在一个项目中创建了两个不同功能的Activity文件,在转换时应当对AdroidManifast.XML中的<intent-filter>做修改,将之移动到准备启动的<Activity>中,这点有时容易忽略,会造成模拟器错误。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值