2018年9月9日 星期日

Android常用的文字輸入元件 - EditText


EditText    這個元件是用來接收來自使用者輸入的資料,

與TextView扮演的腳色一個是輸出文字(TextView)一個是輸入文字(EditText),


之前我們以TextView為主體當作Android入門的第一堂課,

而Android官方教學網站則是兩者結合來建立第一個Android app,


首先建立一個新的Android   專案,

編輯使用者介面如下


其中使用者輸入文字的元件在Android    Studio   中叫做Plain Text,

可以在元件列表中找到


其屬性與TextView類似,

主要的差異如下圖紅框所示


接著新增一個空的activity


作為下一頁秀出傳遞的資料


完成使用者介面之後,

接下來就是編輯程式碼了,

先加入底下的程式碼

由於EditText.getText();得到的是EditText的資料型態,

故在其後方須加上toString();轉為文字型態.


接著再將兩個功能分別加到buttton的onclick中.


到此第一頁Activity的工作就完成了,

在接收資料部分,

在使用者介面中加入一個TextView元件,


在第二頁的程式碼中,

加入接收的資料,

並將其秀在第二頁的TextView中



如此一來,

就能夠將在EditText中輸入的文字傳遞到第二頁的TextView中了,

有興趣的人,

可以下載範例程式來觀看


在這個範例程式中,

Intent intent = new Intent(this,show_msg_activity.class);
                  這裡指定資料要從this(lession2acttivity)傳遞到show_msg_activity.class

String message =entext.getText().toString();
                  將輸入的文字存到字串message

intent.putExtra(Extra_Message,message);
                    將message的文字存到Extra_Message="com.example.xyaw.lesson2.Message";

startActivity(intent);
                    傳遞資料




接著再以getIntent();

Intent intent = getIntent();
String msg = intent.getStringExtra(lesson2Activity.Extra_Message); 
接收傳遞的資料
                 
TextView targettxt = (TextView) findViewById(R.id.id_final_text);
targettxt.setText(msg);
                     最後將其秀在第二頁的TextView中









沒有留言: