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())); } }
留言
張貼留言