在编辑文本中禁用键盘单击

时间:2014-02-25 02:24:37

标签: android android-intent android-edittext

基于这个问题的答案Enforcing Input Method of Edit Text我已经读过,不可能使用特定的键盘作为编辑文本但是可以取消使用键盘或禁用弹出键盘用户点击编辑文本。我有这个编辑文本,我想输入数值,我在编辑下面有一个自定义数字小键盘垫我把它放在一个按钮的数字0 - 9,这样当我点击编辑文本框时,光标将出现在文本上然后我必须单击按钮以在编辑文本上输入该特定按钮的值。我一直在寻找解决方案,但我似乎找到了解决方案。

xml代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffff"
    android:orientation="vertical" >
<LinearLayout 
    android:layout_margin="15dp"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/login"
    android:orientation="vertical" >
        <LinearLayout 
            android:baselineAligned="false"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="3dp"
            android:orientation="horizontal">
            <LinearLayout 
            android:layout_width="0dp"
            android:layout_weight=".30"
            android:layout_height="wrap_content"
            android:orientation="vertical">             
            <EditText
                android:id="@+id/previousscore_lbl_score"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/labeltextbox"
                android:textColor="#000000"
                android:gravity="center"
                android:clickable="false" 
                android:cursorVisible="false" 
                android:focusable="false" 
                android:focusableInTouchMode="false"
                android:inputType="none"
                android:text="meter" />
            </LinearLayout> 
            <LinearLayout 
            android:layout_width="0dp"
            android:layout_weight=".20"
            android:layout_height="wrap_content"
            android:orientation="vertical">             
            <EditText
                android:id="@+id/previousscore_txt_score"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/edittextbox"
                android:textColor="#000000"
                android:gravity="center"
                android:inputType="number"
                android:text="@string/one" />
            </LinearLayout> 
            <LinearLayout 
            android:layout_width="0dp"
            android:layout_weight=".30"
            android:layout_height="wrap_content"
            android:orientation="vertical">             
            <EditText
                android:id="@+id/previousscore_lbl_putt"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/labeltextbox"
                android:textColor="#000000"
                android:gravity="center"
                android:clickable="false" 
                android:cursorVisible="false" 
                android:focusable="false" 
                android:focusableInTouchMode="false"
                android:inputType="none"
                android:text="inches" />
            </LinearLayout> 
            <LinearLayout 
            android:layout_width="0dp"
            android:layout_weight=".20"
            android:layout_height="wrap_content"
            android:orientation="vertical">             
            <EditText
                android:id="@+id/previousscore_txt_putt"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/edittextbox"
                android:textColor="#000000"
                android:gravity="center"
                android:inputType="number"
                android:text="@string/one" />
            </LinearLayout>                                                 
        </LinearLayout>
        <GridLayout 
            android:id="@+id/numerickeypad"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_marginTop="5dp"
            android:orientation="horizontal"
            android:columnCount="10"
            android:rowCount="9" >

            <Button
                android:layout_columnSpan="3"
                android:layout_gravity="fill"
                android:layout_rowSpan="2"
                android:text="@string/one" />
            <Button
                android:layout_columnSpan="3"
                android:layout_gravity="fill"
                android:layout_rowSpan="2"
                android:text="@string/two" />
            <Button
                android:layout_columnSpan="3"
                android:layout_gravity="fill"
                android:layout_rowSpan="2"
                android:text="@string/three" />
            <Button
                android:layout_columnSpan="3"
                android:layout_gravity="fill"
                android:layout_rowSpan="2"
                android:text="@string/four" />
            <Button
                android:layout_columnSpan="3"
                android:layout_gravity="fill"
                android:layout_rowSpan="2"
                android:text="@string/five" />
            <Button
                android:layout_columnSpan="3"
                android:layout_gravity="fill"
                android:layout_rowSpan="2"
                android:text="@string/six" />
            <Button
                android:layout_columnSpan="3"
                android:layout_gravity="fill"
                android:layout_rowSpan="2"
                android:text="@string/seven" />
            <Button
                android:layout_columnSpan="3"
                android:layout_gravity="fill"
                android:layout_rowSpan="2"
                android:text="@string/eight" />
            <Button
                android:layout_columnSpan="3"
                android:layout_gravity="fill"
                android:layout_rowSpan="2"
                android:text="@string/nine" /> 
            <Button
                android:layout_columnSpan="3"
                android:layout_gravity="fill"
                android:layout_rowSpan="2"
                android:text="@string/zero" />      
            <Button
                android:layout_columnSpan="3"
                android:layout_gravity="fill"
                android:layout_rowSpan="2"
                android:text="@string/dialogc" />                               


            <Space
                android:layout_width="32dp"
                android:layout_column="0"
                android:layout_row="8" />

            <Space
                android:layout_width="32dp"
                android:layout_column="1"
                android:layout_row="8" />

            <Space
                android:layout_width="32dp"
                android:layout_column="2"
                android:layout_row="8" />

            <Space
                android:layout_width="32dp"
                android:layout_column="3"
                android:layout_row="8" />

            <Space
                android:layout_width="32dp"
                android:layout_column="4"
                android:layout_row="8" />

            <Space
                android:layout_width="32dp"
                android:layout_column="5"
                android:layout_row="8" />

            <Space
                android:layout_width="32dp"
                android:layout_column="6"
                android:layout_row="8" />

            <Space
                android:layout_width="32dp"
                android:layout_column="7"
                android:layout_row="8" />
            <Space
                android:layout_width="32dp"
                android:layout_column="8"
                android:layout_row="8" />

            <Space
                android:layout_height="32dp"
                android:layout_column="9"
                android:layout_row="0" />

            <Space
                android:layout_height="32dp"
                android:layout_column="9"
                android:layout_row="1" />

            <Space
                android:layout_height="32dp"
                android:layout_column="9"
                android:layout_row="2" />

            <Space
                android:layout_height="32dp"
                android:layout_column="9"
                android:layout_row="3" />

            <Space
                android:layout_height="32dp"
                android:layout_column="9"
                android:layout_row="4" />

            <Space
                android:layout_height="32dp"
                android:layout_column="9"
                android:layout_row="5" />

            <Space
                android:layout_height="32dp"
                android:layout_column="9"
                android:layout_row="6" />
            <Space
                android:layout_height="32dp"
                android:layout_column="9"
                android:layout_row="7" />



            </GridLayout>       
            <LinearLayout 
                android:baselineAligned="false"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:background="@drawable/login">
                <Button
                    android:id="@+id/dialogbox_buttoncancel"
                    android:layout_width="wrap_content"
                    android:layout_height="fill_parent"
                    android:layout_weight="1"
                    android:layout_marginTop="10dp"
                    android:background="@drawable/selector"
                    android:text="@string/cancel" />
                <Button
                    android:id="@+id/dialogbox_buttonsave"
                    android:layout_width="wrap_content"
                    android:layout_height="fill_parent"
                    android:layout_weight="1"
                    android:layout_marginTop="10dp"
                    android:background="@drawable/selector"
                    android:text="@string/save" />

            </LinearLayout>     
</LinearLayout>
</LinearLayout>

2 个答案:

答案 0 :(得分:1)

如果您想使用EditText,请尝试android:editable="false"

更好的方法可能是使用TextView组件。这样,每次用户按下按钮时都可以使用setText()。此方法假定您不希望用户直接编辑该字段。

答案 1 :(得分:0)

我知道您要禁用EditText上的点击事件并弹出系统键盘。 如果是这样,试试这个!

yourTextView.setInputType(0);