Articles of android edittext

如何在edittext之外只需轻按一下键盘?

我想通过在edittext外面点击来隐藏键盘。 这是我的xml代码: <RelativeLayout //Here there are some widgets including some edittext. 这是我的java代码(MainActivity): public void rl_main_onClick(View view) { InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0); } 但我必须点击两次才能隐藏键盘。 第一次点击只是改变“下一步”(对于最后一次编辑文本,它是“完成”)输入图标,然后第二次点击隐藏键盘。 这是第一次点击时发生的事情: 现在我有两个问题: 1-如何只需轻按一下即可修复并隐藏键盘? 2-是否可以对我的所有edittext(一个代码)进行此操作? 提前致谢。

当inputType =“textpassword”时,EditText提示显示额外的空格

只是想知道,我是唯一一个遇到这种“奇怪”行为的人。 在我的活动中放置EditText并将其inputType =“textPassword”设置如下: 提示在单词之间显示更大/双倍的空格。 如果我删除inputType属性,它将恢复正常。 我找不到有关此行为的已知问题。 顺便说一句 – 如果你想知道为什么这很重要(它不是那么多)尝试将两个EditText小部件一个放在另一个之下并将其中一个的inputType设置为“textpassword”它看起来不太好。 有关如何更改密码或其他edittexts以使用相同格式的任何想法? 谢谢 PS。 首先在这里添加了一个问题: http : //groups.google.com/group/android-developers/browse_thread/thread/88738bb8d8046f6f,但我找不到答案。

RecyclerView:禁用由焦点更改引起的滚动

TL; DR我有一个EditText的RecyclerView 。 当用户专注于EditText #1并点击EditText #2 ,我希望EditText #2获得焦点,但我不想让ReyclerView滚动。 我怎样才能做到这一点? 我正在尝试使用填充了一堆EditText的RecyclerView 。 当我专注于一个EditText并且我点击另一个时, RecyclerView滚动,以便第二个位于屏幕的顶部。 我想从RecyclerView禁用此自动滚动,但我仍然希望用户能够滚动,我仍然希望关注第二个EditText ,以便用户可以开始输入。 我怎样才能做到这一点? 我已经尝试过以下解决方案: https://stackoverflow.com/a/8101614/4077294 ,但使用RecyclerView.OnItemTouchListener 。 我在onInterceptTouchEvent调用了onInterceptTouchEvent 。 行为:始终滚动到点击的EditText的顶部。 通过任何EditText聚焦时清除焦点 editText.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, bool hasFocus) { if (hasFocus) { v.clearFocus(); } } }); 行为:键盘从未出现过, RecyclerView仍然滚动到顶部。 完全禁用滚动就像在这个问题中一样是不可接受的,因为我仍然希望用户能够滚动。

具有固定小数的Android Money输入

如何创建仅以货币格式格式化输入的edittext条目? 当用户输入5时,我希望输入看起来像“$ 0.05”,当他们输入3时,输入​​现在应该看起来像“$ 0.53”,最后他们输入6并且输入应该看起来像“$ 5.36”。

EditText自动建议为空白或不存在

我有一个标准的直接EditText,我想在这个EditText上显示字典建议,所以我在XML中做了这个: 我认为inputType参数将处理自动字典视图。 在我的手机(Nexus Android 5.1)上显示字典视图但是空白。 在Genymotion模拟器(Android 4.1.1)上它根本不显示。 我错过了什么?

如何检测EditText由Android获得焦点。 不是最终用户触摸编辑文本?

正如我所知, android.widget.EditText可以通过2个原因获得焦点: 案例1 。 最终用户按目的触摸编辑文本。 案例2 。 系统自动提供编辑文本。 导航 第一个默认焦点 … 我的问题是: 如何才能检测到案例2 ? (事件监听器?) 我想要检测案例2的原因是:我想设置当前位置是编辑文本通过案例2获得焦点的最后位置。 EditText.setOnFocusChangeListener适用于case1,case2所以看来我不能使用它。 谢谢!

以编程方式编辑EditText

我有一个带有一个textView和一个EditText和一个按钮的布局。 EditText在xml文件中不可编辑。 我想通过代码启用它。

如何使用TextWatcher更新相同的EditText?

在我的Android应用程序中,我需要实现一个TextWatcher接口来实现onTextChanged 。 我遇到的问题是,我想用一些额外的字符串更新相同的EditText。 当我尝试这样做时,程序终止。 final EditText ET = (EditText) findViewById(R.id.editText1); ET.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { try { ET.setText(“***”+ s.toString()); ET.setSelection(s.length()); } catch(Exception e) { Log.v(“State”, e.getMessage()); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable […]

检测EditText中的更改(TextWatcher无效)

我需要检测EditText中的文本更改。 我已经尝试过TextWatcher,但它不会以我期望的方式工作。 采用onTextChanged方法: public void onTextChanged( CharSequence s, int start, int before, int count ) 假设我在EditText中已经有了“John”文本。 如果按另一个键,“e”, s将是“Johne”, start将为0, before将为4,并且count将为5.我希望这种方法工作的方式将是EditText之前的区别是,以及它将要成为什么。 所以我希望: s = “Johne” start = 4 // inserting character at index = 4 before = 0 // adding a character, so there was nothing there before count = 1 // inserting one character 我需要能够在每次按下按键时检测到个别更改。 […]

从保存的实例恢复片段时,如何防止editText自动填充文本?

我有一个活动,它包含并显示多个片段。 当我重新输入片段时,它会自动填充所有editTexts中的文本。 所有字段的文本也相同。 例: 打开片段并在两个editTexts中填写文本: CustomEditText1:[______] CustomEditText2:[_ acb__] CustomEditText3:[_ qwe__] 单击后退按钮并重新输入片段 CustomEditText1:[_ qwe__] CustomEditText2:[_ qwe__] CustomEditText3:[_ qwe__] 这是我在片段中覆盖的方法: public AddBookingFragment() { // Required empty public constructor } @Override public void onAttach(Context context) { super.onAttach(context); tabsActivity = (TabsActivity) getActivity(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_add_booking, container, false); […]