Android (2) EditText 來點互動
今天介紹個 EditText 的使用方法。
1. 加入 EditText:
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">
    <EditText
        android:id="@+id/et_name"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:hint=" 輸入看看"
        android:inputType="text"
        android:singleLine="true"/>
    <Button
        android:id="@+id/btn_send"
        android:layout_marginTop="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="送出"/>
    <TextView
        android:id="@+id/tv_show"
        android:layout_marginTop="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello!"
        android:textSize="50dp"/>
</LinearLayout>
佈局如下。
 
hint 用來提示可輸入的地方,singleLine 限制輸入為單行。
我們可以調整並限制輸入的內容。
數值的輸入如下:
- android:inputType="number"
- android:inputType="numberSigned"
- android:inputType="numberDecimal"
- android:inputType="phone"
- android:inputType="datetime"
- android:inputType="date"
- android:inputType="time"
文字的輸入如下:
- android:inputType="none"
- android:inputType="text"
- android:inputType="textCapCharacters"
- android:inputType="textCapWords"
- android:inputType="textCapSentences"
- android:inputType="textAutoCorrect"
- android:inputType="textAutoComplete"
- android:inputType="textMultiLine"
- android:inputType="textImeMultiLine"
- android:inputType="textNoSuggestions"
- android:inputType="textUri"
- android:inputType="textEmailAddress"
- android:inputType="textEmailSubject"
- android:inputType="textShortMessage"
- android:inputType="textLongMessage"
- android:inputType="textPersonName"
- android:inputType="textPostalAddress"
- android:inputType="textPassword"
- android:inputType="textVisiblePassword"
- android:inputType="textWebEditText"
- android:inputType="textFilter"
- android:inputType="textPhonetic"
2. 註冊 Listener:
初始化元件,幫 button 註冊 Listener。
private EditText et_name;
private TextView tv_show;
private Button btn_send;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    et_name = (EditText) findViewById(R.id.et_name);
    tv_show = (TextView) findViewById(R.id.tv_show);
    btn_send = (Button) findViewById(R.id.btn_send);
    btn_send.setOnClickListener(new SendMessage());
}
實作 Callback,壓下 button 更新 tv_show:
class SendMessage implements View.OnClickListener {
    @Override
    public void onClick(View v) {
        tv_show.setText((et_name.getText().toString()));
    }
}
 
留言
張貼留言