当android:EditText View的inputType设置为“numberDecimal”时,接受来自SIP的数字和字母输入

时间:2011-08-08 16:26:28

标签: android input keyboard android-edittext sip

当加载View时,我想强制SIP打开并向键盘显示数字。另外,我想要一个editText视图接受来自SIP的字母和数字输入

XML
            <EditText android:id="@+id/search_bus_by_num_keyword"
            android:layout_height="wrap_content" android:layout_width="fill_parent"
            android:lines="1" android:layout_weight="1"
            android:inputType="numberDecimal"
            />

Code
    editTextSearchKeyword = (EditText) context.findViewById(R.id.search_bus_by_num_keyword);
    editTextSearchKeyword.setOnKeyListener(new OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) 
        {
            // If the event is a key-down event on the "enter" button
            if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
                    (keyCode == KeyEvent.KEYCODE_ENTER)) {
                // Perform action on key press
                context.hideSIP(editTextSearchKeyword);
                searchRoute();
                return true;
            }
            return false;
        }
    });
    editTextSearchKeyword.setText(searchKeyword);

    editTextSearchKeyword.requestFocus();
    InputMethodManager mgr = (InputMethodManager) context.getSystemService(context.INPUT_METHOD_SERVICE);
    mgr.showSoftInput(editTextSearchKeyword, InputMethodManager.SHOW_FORCED);

加载视图时: http://pwong.name/sip_01.png

当我将SIP从Number更改为Letter时: http://pwong.name/sip_02.png,我无法在editText视图中输入Letter。

如果我将android:inputType =“numberDecimal”设置为它,是否可以输入editText的数字和字母?是否可以在运行时更改android:inputType?

2 个答案:

答案 0 :(得分:0)

请参阅this有关如何更改代码中的InputType的问题。有关EditText输入类型,请参阅this链接。至于你的要求“我想强制SIP打开并用数字显示键盘。另外,我想要一个editText视图接受来自SIP的字母和数字输入” - 我不明白。我不认为你可以为EditText提供多种输入模式。

答案 1 :(得分:0)

试试这段代码

android:inputType="textVisiblePassword"