Articles of android edittext

如何在Android应用程序中使用AsYouTypeFormatter TextWatcher?

我正在尝试使用Google的libphonenumber中的AsYouTypeFormatter和TextWatcher,我不确定是否有可能。 我已经能够格式化从EditText字段input文本,并在另一个EditText输出,但不能直接更改原始EditText字段(这是我想要的)。 我知道phoneNumberFormattingTextWatcher,但是我们希望用户能够最终select它们所在的区域,并且比使用允许的更多的控制(从我所收集的)。 上课: private View phoneNumberView; private EditText phoneNumberText; private String formattedPhoneNumber; private boolean isInAfterTextChanged; private AsYouTypeFormatter aytf; 首先我在我的类的顶部初始化AsYouTypeFormatter: aytf = PhoneNumberUtil.getInstance().getAsYouTypeFormatter(Locale.getDefault().getCountry()); 在创build了我的选项卡之后,我创build一个EditText框,格式化其中的现有电话号码(工作),并附加侦听器(它是当前类): phoneNumberView = inflater.inflate(R.layout.phone_number_setting, null); phoneNumberText = (EditText) phoneNumberView.findViewById(R.id.dirty_phone_number); phoneNumberText.setText(dirtyPhoneNumber); for (int i = 0; i < dirtyPhoneNumber.length(); i++){ phoneNumberText.setText(aytf.inputDigit(dirtyPhoneNumber.charAt(i))); } aytf.clear(); phoneNumberText.setText(dirtyPhoneNumber); phoneNumberText.addTextChangedListener(this); 那么这就是我现在在TextWatcher函数中所具有的function,我不确定我的代码应该在哪个函数中: @Override public void afterTextChanged(Editable s) { if […]

清除多行EditText

我正在尝试清除OnEditorActionListener.onEditorAction方法内的多行EditText字段。 但使用任何明显的方式,即 ((EditText) view).getEditableText().clear(); ((EditText) view).getEditableText().clearSpans(); ((EditText) view).setText(""); 只清除可见的字符 – 在字段中留下换行符(然后必须手动删除)。 有没有办法“完全”清除多行EditText字段? (或者至less是否有人知道为什么上述不行?)

EditText android:提示不会消失onFocus

我在Android 4+,我想添加提示到我的编辑文本小部件。 我尝试添加提示到布局如下… <EditText android:id="@+id/bar_name" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="text" android:hint="@string/bar_name_hint" /> 但是,当我把重点放在文本框,它写在提示,而不是暗示消失。 我find了有关在EditText中添加onFocus侦听器的文档,但我想避免以编程方式进行此操作。 下面的post也提到使用select器,但我找不到如何做到这一点的文件。 Android的EditText提示 那么处理这个问题的最好方法是什么? 我在 @A – C和@Flexo 这里写过这个build议,因为他们说:“除了”我也是“之外,没有什么东西只是噪音。” 最好再次提出同样的问题。 像这样的评论是非常有用的方式来联系第一人与问题…也许他已经修好了,可以张贴一个答案,这将是有用的每个人,但没有张贴,因为他认为没有人会关心。 我不会发表问题的答案,只是为了得到积分,所以我可以评论…我有更多的东西要做…它应该是提供给大家无论如何。 我不会发布这个,如果我没有尝试一切,以解决我的问题。

带有edittext的列表视图 – 自动滚动“下一个”

我有一个ListView,每行有一个EditText(除了一些不可编辑的TextView)。 当我编辑EditText中的文本时,软键盘上有“下一步”button – 按下它将焦点移动到下一个字段 – 这很好。 在最后一行,button变成“完成”。 我正在使用EditText.setImeOptions设置button为“完成”或“下一步”根据这是否是最后一行。 问题是listview可以有更多的行可以放在屏幕上。 发生这种情况时,在下一个可见行上按下“下一步”将焦点再次移动到第一行。 我怎样才能让它滚动列表,并转到下一行? 作为参考,这是我在我的适配器中做什么: public class AuditAdapter extends BaseAdapter { private Context context; private int layoutResourceId; private Audit audit; … @Override public View getView(final int position, View convertView, ViewGroup parent) { View row = convertView; final AuditItemHolder holder = (row == null ? new AuditItemHolder() : (AuditItemHolder)row.getTag()); […]

棒棒糖EditBox造型

我目前有这个: 是否有可能消除黑色中风,只有突出显示? 它违反了关于材料devise的任何Google指导方针吗?

在ListView中使用windowSoftInputMode adjustPan编辑文本

我有一个EditText在每一行ListView 。 我已经设置windowSoftInputMode adjustPan在此活动的清单中,所以当我点击一个EditText的布局平底锅,以便它可以在键盘上方可见。 这是我第一次点击一个EditText 。 但是,如果我点击后退button来closures键盘,然后再次点击相同的EditText(不点击其他任何东西,所以光标保留在第一个EditText ),键盘恢复,但布局不会平移这一次。 这样做的结果是EditText被隐藏在键盘后面。 有没有人经历过这种行为/知道如何解决它? 谢谢

剪切,复制,粘贴在Android

我想在我的EditText中实现剪切,复制,粘贴function,我试着用下面的代码: ClipMan = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); editbox1.setText(ClipMan.getText()); 用于粘贴文本,但它将整个文本粘贴到另一个Editbox中。我想复制所选文本并将其粘贴到同一个Editbox中,就像正常的记事本一样。 任何build议非常感谢…谢谢!

有没有办法把一个EditText /input字段放入主屏幕小部件?

我希望我的用户在主屏幕上input一些东西,但是每次我添加一个EditText到它打破的部件。 我做了一些谷歌search,发现他们显然不支持小部件。 在每个Android手机上都有一个Googlesearch小部件,所以我想知道是否有任何方法在我的小部件中有一个。 提前致谢 编辑:我注意到,谷歌search栏实际上没有input,而只是打开一个触摸的活动。 但是还有其他的应用程序,如FriendStream,它们的小部件都有input部分。

硬键盘无法对焦editText

我有一个共同的EditText。 这很奇怪,因为使用硬键盘时我无法聚焦。 上下文条件: 切换Droid的硬键盘 开始活动 点击editTextinput 无法input。 当你按任何键,editText失去了焦点。 要获得焦点:按Dpad,您将看到焦点从屏幕上的第一个小部件开始。 最后关注目标EditText。 那么你可以input。 没有这个,你不能用硬键盘input。 软键盘没有这样的焦点问题。 我正在使用android 2.2。 这是一个系统错误?

Android – ListView中绑定到自定义ArrayAdapter的EditTexts – 跟踪更改

我有一个Android的活动,我有一个ListView绑定到一个自定义ArrayAdapter。 ListView的每一行都有两个EditText(数字)字段。 ArrayAdapter最初是从SQLite数据库填充的。 但是,用户可以在ListView的末尾添加一行,或者(通过长按一行)删除ListView中的任何一行。 当他们点击“保存”button时,他们的变化将持续。 通过将AfterTextChanged()事件的CustomTextWatcher附加到ArrayAdapter的getView()方法中的每个EditText(传入EditText和ArrayAdapter的项目列表中相应的对象),然后设置匹配项该对象的属性对EditText的内容。 这样在保存时我可以简单地遍历底层对象列表并进行适当的数据库更改,知道对象列表是最新的。 适配器类和CustomTextWatcher代码: private class CustomAdapter extends ArrayAdapter<DataItem> { private ArrayList<DataItem> items; public CustomAdapter(Context context, int textViewResourceId, ArrayList<DataItem> items) { super(context, textViewResourceId, items); this.items = items; } @Override public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; DataItem wed = items.get(position); if (v == null) { […]