使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();
}
});