日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 回车键事件编程

發(fā)布時間:2025/3/15 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 回车键事件编程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

默認(rèn)情況下軟鍵盤右下角的按鈕為“下一個”,點擊會到下一個輸入框,保持軟鍵盤

?



?

?

設(shè)置?android:imeOptions="actionDone"?,軟鍵盤下方變成“完成”,點擊后光標(biāo)保持在原來的輸入框上,并且軟鍵盤關(guān)閉

?



?

?

?

?

?

?

android:imeOptions="actionSend"?軟鍵盤下方變成“發(fā)送”,點擊后光標(biāo)移動下一個

?



?

?

?

?

在這里設(shè)置的imeOptions如何使用呢?如下面的代碼,讓EditText實現(xiàn)setOnEditorActionListener,在onEditAction方法中actionId就對應(yīng)我們設(shè)置的imeOptions。系統(tǒng)默認(rèn)的actionId有:EditorInfo.IME_NULL、EditorInfo.IME_ACTION_SEND、EditorInfo.IME_ACTION_DONE等。這樣我們就可以根據(jù)不同的EditText來實現(xiàn)不同的軟鍵盤右下角功能鍵。

?

?

?

?

?

?

Java代碼??
  • package?com.test;??
  • ??
  • import?com.test.main.TestAsyn;??
  • ??
  • import?android.app.Activity;??
  • import?android.os.Bundle;??
  • import?android.view.KeyEvent;??
  • import?android.view.inputmethod.EditorInfo;??
  • import?android.widget.EditText;??
  • import?android.widget.TextView;??
  • import?android.widget.TextView.OnEditorActionListener;??
  • import?android.widget.Toast;??
  • ??
  • public?class?IMFActivity?extends?Activity?implements?OnEditorActionListener?{??
  • ??????
  • ????EditText?etDefault;??
  • ????EditText?etEmail;??
  • ????EditText?etNumber;??
  • ??????
  • ?????/**?Called?when?the?activity?is?first?created.?*/??
  • ????@Override??
  • ????public?void?onCreate(Bundle?savedInstanceState)?{??
  • ????????super.onCreate(savedInstanceState);??
  • ????????setContentView(R.layout.imf_layout);??
  • ??????????
  • ????????etDefault?=?(EditText)findViewById(R.id.default_content);??
  • ????????etEmail?=?(EditText)findViewById(R.id.email_content);??
  • ????????etNumber?=?(EditText)findViewById(R.id.number_content);??
  • ????????etDefault.setOnEditorActionListener(this);??
  • ????????etEmail.setOnEditorActionListener(this);??
  • ????????etNumber.setOnEditorActionListener(this);??
  • ??????????
  • ????}??
  • ??
  • ????@Override??
  • ????public?boolean?onEditorAction(TextView?v,?int?actionId,?KeyEvent?event)?{??
  • ????????switch(actionId){??
  • ????????case?EditorInfo.IME_NULL:??
  • ????????????System.out.println("null?for?default_content:?"?+?v.getText()?);??
  • ????????????break;??
  • ????????case?EditorInfo.IME_ACTION_SEND:??
  • ????????????System.out.println("action?send?for?email_content:?"??+?v.getText());??
  • ????????????break;??
  • ????????case?EditorInfo.IME_ACTION_DONE:??
  • ????????????System.out.println("action?done?for?number_content:?"??+?v.getText());??
  • ????????????break;??
  • ????????}??
  • ????????//Toast.makeText(this,?v.getText()+"--"?+?actionId,?Toast.LENGTH_LONG).show();??
  • ????????return?true;??
  • ????}??
  • }??
  • ?

    ?

    xml文件:

    ?

    ?

    ?

    ?

    ?

    Xml代碼??
  • <?xml?version="1.0"?encoding="utf-8"?>??
  • <ScrollView?xmlns:android="http://schemas.android.com/apk/res/android"??
  • ????android:layout_width="fill_parent"?android:layout_height="fill_parent">??
  • ??
  • ????<TableLayout?android:layout_width="fill_parent"??
  • ????????android:layout_height="fill_parent">??
  • ????????<TableRow>??
  • ????????????<TextView?android:text="No?special?rules"?android:id="@+id/TextView01"??
  • ????????????????android:layout_width="wrap_content"?android:layout_height="wrap_content"></TextView>??
  • ????????????<EditText?android:text="1111111111111"?android:id="@+id/default_content"??
  • ????????????????android:layout_width="fill_parent"?android:layout_height="wrap_content"></EditText>??
  • ????????</TableRow>??
  • ????????<TableRow>??
  • ????????????<TextView?android:text="Email?address:"?android:id="@+id/TextView01"??
  • ????????????????android:layout_width="wrap_content"?android:layout_height="wrap_content"></TextView>??
  • ????????????<EditText?android:text=""?android:id="@+id/email_content"??
  • ????????????????android:layout_width="fill_parent"?android:layout_height="wrap_content"??
  • ????????????????android:inputType="text|textEmailAddress"??
  • ????????????????android:imeOptions="actionSend"></EditText>??
  • ????????</TableRow>??
  • ????????<TableRow>??
  • ????????????<TextView?android:text="Signed?decimal?number:"?android:id="@+id/TextView01"??
  • ????????????????android:layout_width="wrap_content"?android:layout_height="wrap_content"></TextView>??
  • ????????????<EditText?android:text=""?android:id="@+id/number_content"??
  • ????????????????android:layout_width="fill_parent"?android:layout_height="wrap_content"??
  • ????????????????android:inputType="number|numberSigned|numberDecimal"??
  • ????????????????android:imeOptions="actionDone"></EditText>??
  • ????????</TableRow>??
  • ????</TableLayout>??
  • </ScrollView>??
  • ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    http://www.apkbus.com/forum.php?mod=viewthread&tid=45005

    實現(xiàn)android按下回車鍵便隱藏輸入鍵盤,有兩種方法:

    1.)如果布局是多個EditText,為每個EditText控件設(shè)置android:singleLine=”true”,彈出的軟盤輸入法中回車鍵為next,直到最后一個獲取焦點后顯示為Done,點擊Done后,軟盤輸入鍵盤便隱藏。或者將EditText的imeOptions屬性設(shè)置android:imeOptions=”actionDone”,則不管是不是最后一個EditText,點擊回車鍵即隱藏輸入法。

    2.)監(jiān)聽Enter的事件,編寫Enter的事件響應(yīng)。設(shè)置文本框的OnKeyListener,當(dāng)keyCode ==KeyEvent.KEYCODE_ENTER的時候,表明Enter鍵被按下,就可以編寫自己事件響應(yīng)功能了。

    代碼源:
    <ignore_js_op>?EnterListenter.rar?(40.68 KB, 下載次數(shù): 65)?
    具體代碼:
  • package listenter.main;
  • import android.app.Activity;
  • import android.content.Context;
  • import android.os.Bundle;
  • import android.view.KeyEvent;
  • import android.view.View;
  • import android.view.View.OnKeyListener;
  • import android.view.inputmethod.InputMethodManager;
  • import android.widget.EditText;
  • public class EnterListenter extends Activity {
  • /** Called when the activity is first created. */
  • @Override
  • public void onCreate(Bundle savedInstanceState) {
  • super.onCreate(savedInstanceState);
  • setContentView(R.layout.main);
  • EditText password=(EditText)findViewById(R.id.password);
  • password.setOnKeyListener(onKey);
  • }
  • OnKeyListener onKey=new OnKeyListener() {
  • @Override
  • public boolean onKey(View v, int keyCode, KeyEvent event) {
  • // TODO Auto-generated method stub
  • if(keyCode == KeyEvent.KEYCODE_ENTER){
  • InputMethodManager imm = (InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
  • if(imm.isActive()){
  • imm.hideSoftInputFromWindow(v.getApplicationWindowToken(), 0 );
  • }
  • return true;
  • }
  • return false;
  • }
  • };
  • }
  • 復(fù)制代碼 <ignore_js_op>?

    圖-1 點擊回車鍵隱藏鍵盤

    PS:

    把EditText的Ime Options屬性設(shè)置成不同的值,Enter鍵上可以顯示不同的文字或圖案
    actionNone : 回車鍵,按下后光標(biāo)到下一行
    actionGo : Go,
    actionSearch : 一個放大鏡
    actionSend : Send
    actionNext : Next
    actionDone : Done,隱藏軟鍵盤,即使不是最后一個文本輸入框

    ?

    ?

    searchEdit.setOnEditorActionListener(new OnEditorActionListener() {

    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
    switch (actionId) {
    case EditorInfo.IME_NULL:
    if(!(event.getAction() == KeyEvent.ACTION_UP && event.getKeyCode()==KeyEvent.KEYCODE_ENTER))
    break;
    case EditorInfo.IME_ACTION_GO:
    case EditorInfo.IME_ACTION_DONE:
    case EditorInfo.IME_ACTION_SEARCH:
    // System.out.println("action done for number_content: " + v.getText());
    InputMethodManager imm = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);

    if (imm.isActive()) {
    imm.hideSoftInputFromWindow(v.getApplicationWindowToken(), 0);
    }
    ServiceSearch.cond.key = searchEdit.getText().toString();
    // log.e("", "Search key down: search key is:"+ServiceSearch.cond.key);
    refreshSverListView(ServiceSearch.search());

    break;
    }
    // Toast.makeText(TaskRabbit_HomePageActivity.this, v.getText() + "--" + actionId, Toast.LENGTH_LONG).show();
    return true;
    }
    });

    創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

    總結(jié)

    以上是生活随笔為你收集整理的android 回车键事件编程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。