Articles of android edittext

改变光标在展开的EditText中的起始位置

我有从正常的单行宽度和高度扩展的TextField,但是当我改变文本框的高度,以及它开始放置文本的位置时,开始在EditText中input的光标总是在扩展文本框的中心。 怎样才能让光标像正常一样左上angular,而仍然保持一个更大的高度框? 这是我的框是如何布局 <EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="200dp" android:layout_alignParentLeft="true" android:layout_below="@+id/camera_picture" android:layout_marginTop="58dp" android:ems="10" android:inputType="textMultiLine" > <requestFocus /> </EditText>

需要双击EditText以供点击监听器响应

我有一段代码,当用户select一个EditText框时,我想更改显示在textView中的文本。 我遇到的问题是textView只会改变,当我双击EditText框,点击一下,没有改变textView。 是否有另一个点击监听器,我应该使用? final EditText box0105 = (EditText)findViewById(R.id.box0105); final TextView txtHint = (TextView)findViewById(R.id.txtHint); box0105.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { txtHint.setText(onOneClick); } });

如何在EditText中点击链接?

我有一个Android上的EditText我想为其中任何embedded的url可点击。 我使用了Linkify类,它把它们变成了蓝色并给它们加下划线。 但是,我不知道如何实际使他们点击。 谢谢!

避免EditText消耗点击事件

通常只需将focusable , focusableInTouch + clickable为false即可。 但是在这里它不起作用。 我希望父LinearLayout也消耗EditText上的点击,但它不工作… <LinearLayout android:id="@+id/llText" android:layout_width="0dp" android:layout_weight="1" android:background="?attr/selectableItemBackground" android:layout_height="match_parent" android:orientation="horizontal"> <TextView android:id="@+id/tvText" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:paddingRight="5dp" android:text="@null" /> <EditText android:id="@+id/etText" android:inputType="none" android:gravity="center_horizontal" android:focusable="false" android:focusableInTouchMode="false" android:clickable="false" android:layout_width="wrap_content" android:ems="4" android:layout_gravity="center_vertical" android:layout_height="wrap_content" /> </LinearLayout> 我试过editable=false和inputType=none但它不起作用。 为什么不? EditText消耗点击,不把它交给它的父母。 编辑 我将onClickListener设置为LinearLayout ,如果直接按下EditText ,则不起作用…

Android:EditText – 多行和android:inputType

我有EditText(?简单?)问题。 每当我input时,即使我到达屏幕的边缘,而不是创build一个新的行,文本保持在同一行。 我确定我记得之前默认这样做,但我似乎无法得到它的工作知道… <EditText android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="@string/hint" android:inputType="textCapSentences" /> 编辑:问题是因为有android:inputType。 有没有办法有多行inputtypes?

如何将关键事件发送到编辑文本

例如,向编辑文本控件发送退格键以删除字符或发送像112这样的字符代码,以编程方式在edittext控件中追加字符。 其实我需要一个像 void onKeyReceived(int keyCode) { // here I would like to append the keyCode to EditText, I know how to add a visible character, but what about some special keys, like arrow key, backspace key. }

在Android中从EditText删除filter?

在Android中添加filter是可能的,通过这样做来为该字段添加3个字符的限制: editText.setFilters(new InputFilter[] { new InputFilter.LengthFilter(3) }); 除了已经设置的filter呢? 我的问题是我将根据用户的select在字段上的最大长度的3和4个字符之间切换。 只要运行上面的代码,感觉就会为GC产生大量的额外工作。 我当然可以添加一些对应于每个filter的实例variables,只是在需要时添加它们,然后我只会有两个filter,这是很好的情况下。 知道是否有可能完全删除一个filter将是有趣的。 也许通过传递null?

在Android视图中使用UI元素进行testing

我试图用下面的testing用例来testing简单的UI,主要思想是在testing中设置一些UI文本(模仿用户input),然后主动点击一个事件。 public class StackTestCase extends ActivityInstrumentationTestCase2<Stack> { private StackDemo mActivity; private EditText eaten; public StuckTestCase() { super("com.crocodil.software.stack", Stack.class); } public StuckTestCase(Class<Stack> activityClass) { super("com.crocodil.software.stack", activityClass); } protected void setUp() throws Exception { super.setUp(); mActivity = this.getActivity(); mCount = (Button) mActivity.findViewById(com.crocodil.software.stack.R.id.action); eaten = (EditText) mActivity.findViewById(com.crocodil.software.stack.R.id.eaten); } public void testPreconditions() { assertNotNull(mStatus); } public void testSimpleDefaults(){ double […]

如何创build只接受整数值的首选项

有没有办法在只接受整数值的PreferenceFragment中创build首选项 ? 我可以实现一个EditTextPreference并注册一个OnPreferenceChangeListener ,如果用户input一个不是数字的string,我可以拒绝这个更改,但是我更喜欢那些仅仅保存数字而不允许用户input任何内容的东西,也许只显示一个拨号盘键盘。我不喜欢存在,因为首选的每个后裔映射到一个布尔( CheckBoxPreference ),一个string(* EditTextPreference)或一个string数组( MultiSelectListPreference ),即有没有偏好映射到整数,但也许有些人可以给我一个提示,或者至less告诉我是否有比我上面提出的更好的解决scheme。 Gray提出的解决scheme: EditText editText = ((EditTextPreference) findPreference("intent_property")).getEditText(); editText.setKeyListener(new NumberKeyListener() { @Override public int getInputType() { // The following shows the standard keyboard but switches to the view // with numbers on available on the top line of chars return InputType.TYPE_CLASS_NUMBER; // Return the following to show a […]

如何使用ActionDonebutton实现Multiline EditText(无Enterbutton)

我有用于input消息(电子邮件,短信)内容的EditText。 我想要消息立即张贴在ActionDonebutton上点击。 我使用下面的代码: message.setOnEditorActionListener((textView, i, keyEvent) -> { switch (i) { case EditorInfo.IME_ACTION_DONE: if (messageCanBePosted()) { SoftKeyboard.hide(message); postMessage(); return true; } else { return false; } default: return false; } }); 但是,我也希望这个消息字段是多行的,就像任何其他的Messenger应用程序。 我可以用这一行来实现它: android:inputType="textMultiLine" 问题是,添加这行后,ActionDonebutton开始像inputbutton。 所以我从来没有调用捕获EditorInfo.IME_ACTION_DONEcallbackEditorInfo.IME_ACTION_DONE 。 所以每次用户按下该button光标移动到新行而不是发布消息。 如何保持EditText的多行为(能够在多行显示文本)和ActionDonebutton?