android.widget.EditText 是讓使用者輸入並且編輯文字使用的, EditText 在實際使用上還會對於使用者輸入的文字進行驗證, 看是不是正確的格式與內容, 若要取得 EditText 輸入的文字內容, 可以使用函式 getText() 來取得.
主要功能介紹 :
配置 EditText 控制項讓使用者輸入文字並且使用 getText() 方法取得輸入內容後, 放置到目前 Activity 的標題上顯示出來.
範例代碼 :
- main.xml : 添加以下代碼以透過此按鈕點擊, 開啟 EditText demo 的 Activity
- android:id="@+id/btn_Edit_Text"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="編輯文字控制">
- ControlItemsDemo.java : 在這裡取得上面定義 Button 的實例, 並添加監聽在被點擊時候開啟 EditText demo 的 Activity
- ...
- private Button btn_Edit_Text; // 宣告 Button
- ...
- protected void findViews(){
- ...
- btn_Edit_Text = (Button)findViewById(R.id.btn_Edit_Text); // 取的上面定義 Button 的實例
- }
- protected void addListener(){
- // 添加監聽, 當按鈕被按下, 開啟 EditText demo 的 Activity
- btn_Edit_Text.setOnClickListener(new Button.OnClickListener(){
- @Override
- public void onClick(View v) {
- Intent intent_TextView = new Intent();
- intent_TextView.setClass(ControlItemsDemo.this, SampleEditText.class);
- startActivity(intent_TextView);
- }
- });
- ...
- }
- sample_edit_text.xml : EditText demo Activity 的 xml 描述檔
- "1.0" encoding="utf-8"?>
"http://schemas.android.com/apk/res/android" - android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- android:id="@+id/txv_Name"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="Name: ">
- android:id="@+id/edt_Name"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
- android:id="@+id/btn_Get_Edit_Text"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="取得EditView 中的內容">
- SampleEditText.java : EditText demo Activity 代碼
- package john.controlitems.demo;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- public class SampleEditText extends Activity {
- private Button btn_Get_Edit_Text;
- private EditText edt_Name;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.sample_edit_text);
- findViews();
- addListener();
- }
- protected void findViews(){
- btn_Get_Edit_Text = (Button)findViewById(R.id.btn_Get_Edit_Text);
- edt_Name = (EditText)findViewById(R.id.edt_Name);
- }
- protected void addListener(){
- btn_Get_Edit_Text.setOnClickListener(new Button.OnClickListener(){
- @Override
- public void onClick(View v) {
- setTitle("輸入內容為: "+edt_Name.getText());
- }
- });
- }
- }
- AndroidManifest.xml : 在此對 EditText demo 的 Activity 作註冊
- ...
".SampleEditText" >- ...
顯示範例結果 :
在程式主畫面點擊按鈕 "編輯文字控制" 進入 EditText demo Activity :
Step1 : 在 EditText 輸入文字後點擊按鈕 "取得EditView 中的內容"
Step2 : 當前 Activity 的標題變動為 EditText 的輸入文字
沒有留言:
張貼留言