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 限制輸入為單行。

我們可以調整並限制輸入的內容。

數值的輸入如下:

  1. android:inputType="number"
  2. android:inputType="numberSigned"
  3. android:inputType="numberDecimal"
  4. android:inputType="phone"
  5. android:inputType="datetime"
  6. android:inputType="date"
  7. android:inputType="time"

文字的輸入如下:

  1. android:inputType="none"
  2. android:inputType="text"
  3. android:inputType="textCapCharacters"
  4. android:inputType="textCapWords"
  5. android:inputType="textCapSentences"
  6. android:inputType="textAutoCorrect"
  7. android:inputType="textAutoComplete"
  8. android:inputType="textMultiLine"
  9. android:inputType="textImeMultiLine"
  10. android:inputType="textNoSuggestions"
  11. android:inputType="textUri"
  12. android:inputType="textEmailAddress"
  13. android:inputType="textEmailSubject"
  14. android:inputType="textShortMessage"
  15. android:inputType="textLongMessage"
  16. android:inputType="textPersonName"
  17. android:inputType="textPostalAddress"
  18. android:inputType="textPassword"
  19. android:inputType="textVisiblePassword"
  20. android:inputType="textWebEditText"
  21. android:inputType="textFilter"
  22. 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()));
    }
}

留言

熱門文章