Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使editText可以在Android中键入但不更改文本?_Android_Android Edittext - Fatal编程技术网

使editText可以在Android中键入但不更改文本?

使editText可以在Android中键入但不更改文本?,android,android-edittext,Android,Android Edittext,我有一个编辑文本: <EditText android:textCursorDrawable="@drawable/edittext_cursor" android:textColorHint="@color/colorBlackHintText" android:fontFamily="@string/font" android:

我有一个编辑文本:

<EditText
                    android:textCursorDrawable="@drawable/edittext_cursor"
                    android:textColorHint="@color/colorBlackHintText"
                    android:fontFamily="@string/font"
                    android:inputType="text"
                    android:id="@+id/idEditText"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="@color/colorPrimary"
                    android:hint="Type something"
                    android:paddingBottom="@dimen/fab_margin"
                    android:paddingRight="@dimen/fab_margin"
                    android:paddingTop="@dimen/fab_margin"
                    android:textSize="@dimen/text_size" />
函数将显示列表,然后人们可以选择其中一个


这意味着,当任何人试图更改editText时,editText的文本无法更改,列表和将显示,该文本将在稍后更改,人们无法自行更改该文本

最重要的是人们在editText中看到的文本不会改变。
任何帮助。谢谢!

从您试图做的事情来看,它更像是一个微调器功能。您希望用户从可能文本(值)的固定列表中进行选择的位置

更新: 签出AutoCompleteTextView,可能与您尝试执行的操作相匹配

对于您想要的功能,我认为最好使用EditText+Spinner。和一个按钮,可在两者之间进行选择。 使布局使EditText和微调器彼此重叠。默认情况下,微调器将可见性设置为VISIBLE,将EditText设置为GONE。 所以通常用户从微调器中的项目列表中进行选择。当用户处于微调器列表项都不正常且需要编辑文本的情况下,他/她可以按您提供的按钮。
单击该按钮可使微调器setVisibility消失,EditText setVisibility可见。所以现在用户有了一个EditText来输入自定义文本。

AutoCompleteTextView怎么样?这是一个可编辑的文本视图,在用户键入时自动显示完成建议。建议列表显示在下拉菜单中,用户可以从中选择要替换编辑框内容的项目

查找更多示例

尝试在afterTextChanged()方法上调用ChooseText()函数

单击侦听器

 idEditText.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {

            ChooseText();
        }
    });

谢谢回复,但我希望人们不能键入任何字符,键入时,会立即显示默认列表。如果不希望人们键入,则EditText是无点的。我想你希望人们点击一些输入字段,当他们这样做时,你给他们一个选项列表来选择。如果是这样,这正是Spinner所做的。您需要将EditText更改为微调器。它看起来不错,但我希望使用UI EditText,而且我的列表更复杂,将来它将包含EditText按钮。这非常棒,但我的目标是人们键入EditText,但人们将看到EditText不会更改。顺便说一下,editText not accept(编辑文本不接受)下显示的列表在我的情况下,另一个活动将包含它,它是一个自定义列表,遵循它们的选项:)你可以使用微调器,这是我从你的问题中得到的。请明确“人们不能自己更改此文本”的意思是什么?使用自动完成文本视图“人们无法自行更改此文本“:人们可以键入,但编辑文本中的文本不会更改,并且显示活动包含列表、按钮,。。。要选择.spinner和autocomplete textview,它看起来不错,但我的列表更复杂,将来它将包含editText、button。它看起来不错,但我的列表更复杂,将来它将包含editText、button。在我的情况下,人们可以键入,但editText中的文本不会更改,并且显示活动包含list、button、,。。。选择。最重要的是人们在editText中看到的文本不会改变。你能发布你的ChooseText()函数吗?它会启动另一个活动,但活动只是有一些控制,它并不重要。我的目标是人们键入editText,但人们会看到editText未更改:)删除android后再试一次:textCursorDrawable从您的xmlIt无法工作。顺便说一下,android:textCursorDrawable只需更改UI即可。
@Override
public void afterTextChanged(Editable s) {
   ChooseText();
}


<EditText         
    android:inputType="text"
    android:id="@+id/idEditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:hint="Type something"/>
 @Override
    public void afterTextChanged(Editable s) {
       s.clear();
    }
 idEditText.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {

            ChooseText();
        }
    });