Articles of android edittext

带有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) { […]

我怎样才能有可点击的Spannables的EditText,仍然可以通过longClickselect?

我有TextViewtypes跨度ClickableStringSpan定义如下: public class ClickableStringSpan extends ClickableSpan { private View.OnClickListener mListener; int color; public ClickableStringSpan(View.OnClickListener listener,int color) { mListener = listener; this.color = color; } @Override public void onClick(View v) { mListener.onClick(v); } @Override public void updateDrawState(TextPaint ds) { super.updateDrawState(ds); ds.setUnderlineText(false); ds.setColor(color); } } 我在我的文字上设置了可点击的跨度: spanStr.setSpan(new ClickableString(new linkedTextClickListener(), linkColor), startIndex, endIndex, SpannableString.SPAN_INCLUSIVE_EXCLUSIVE); 现在我想将这些string应用于EditText而不是TextViews。 一切都很好,可点击的string现在不再被点击了。 我想知道如何将这种跨度的点击传递给他们指定的clicklistener? 更新:我主要关心编辑文本是我想让用户select文本的一部分,并与他分享,同时他/她可以点击ClickableSpans。

EditText在使用devise支持库时,getHint()返回null

将EditText与Design lib(ver 22.2.1)结合使用时,TextInputLayout以编程方式获取提示返回null。 我试图追加星号“*”以编程方式强制字段,因此EditText.getHint()但事实上,它返回null是在这种情况下的问题。 EditText editText = (EditText) findViewById(R.id.edit2); String hint = String.format("%s *", editText.getHint()); editText.setHint(hint); 一个简单的代码插图:Layout.xml: <android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/edit2" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/hello_world" android:inputType="text"/> </android.support.design.widget.TextInputLayout> Java的: EditText editText = (EditText) findViewById(R.id.edit2); if (editText.getHint() == null) throw new AssertionError("Hint should not be null"); 依赖:编译'com.android.support:design:22.2.1' 以前相关的问题在这里 !

Android操作栏选项卡和键盘焦点

问题 我有一个非常简单的活动,有两个选项卡,我试图在自定义视图中处理键盘input。 这工作很好…直到我交换标签。 一旦我切换标签,我永远不会再获取事件捕获。 在另一个应用程序中,打开一个对话框,然后closures它,将允许我的关键事件通过。 没有这样做,我发现没有办法再次获得我的关键事件。 这里有什么问题? 一旦交换标签,我找不到任何可以获得关键事件的方法,并且好奇他们在吃什么。 这个例子很短,很重要。 码 main.xml中 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <FrameLayout android:id="@+id/actionbar_content" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> my_fragment.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <view class="com.broken.keyboard.KeyboardTestActivity$MyView" android:background="#777777" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="fill_parent" android:layout_height="fill_parent" > <requestFocus/> </view> </LinearLayout> KeyboardTestActivity.java package com.broken.keyboard; import android.app.ActionBar; import android.app.Activity; import android.app.Fragment; […]