我有一个Activity有5 EditText秒的地方.当用户点击第一个时EditText,软键盘会打开以在其中输入一些值.我想设置一些其他View人Gone对软键盘打开时的可见性,以及用户点击第一个时的可见性,以及当按下后面按钮EditText时软键盘关闭时EditText.然后我想将其他View人的可见性设置为可见.
EditText在Android中第一次点击软键盘时,是否有任何监听器或回调或任何黑客攻击?
android android-softkeyboard android-edittext android-activity
该inputType numberDecimal在EditText使用点"" 作为小数分隔符.在欧洲,通常使用逗号','代替.即使我的语言环境设置为德语,小数分隔符仍然是'.'
有没有办法将逗号作为小数分隔符?
我在哪里可以找到InputType可以拥有的值?
我知道http://developer.android.com/reference/android/text/InputType.html,但是布局xml文件中的值应如何?
我想定义一个最小值和最大值EditText.
例如:如果任何人试图在其中输入月份值,则该值必须介于1-12之间.
我可以通过使用来实现,TextWatcher但我想知道在布局文件或其他地方是否有其他方法可以做到这一点.
编辑:我不想限制字符数.我想限制价值.例如,如果我EditText在输入12时限制月份w字符,它将接受它,但如果我输入22,则在我进入时不得接受它.
到目前为止,我已经花了大约6个小时的时间,除了路障之外什么都没打.一般的前提是a中有一些行ListView(无论是由适配器生成,还是作为标题视图添加)包含一个EditText小部件和一个Button.我想要做的就是能够使用jogball /箭头,将选择器导航到正常的单个项目,但是当我到达特定行时 - 即使我必须明确地识别行 - 它具有可聚焦孩子,我希望那个孩子采取焦点而不是用选择器指示位置.
我已经尝试了很多可能性,到目前为止还没有运气.
布局:
<ListView
android:id="@android:id/list"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
/>
Run Code Online (Sandbox Code Playgroud)
标题视图:
EditText view = new EditText(this);
listView.addHeaderView(view, null, true);
Run Code Online (Sandbox Code Playgroud)
假设适配器中还有其他项目,使用箭头键将按预期在列表中上/下移动选择; 但是当到达标题行时,它也会与选择器一起显示,并且无法专注于EditText使用jogball.注意:点击它EditText 会将焦点集中在那一点,但是它依赖于触摸屏,这不是必需的.
ListView在这方面显然有两种模式:
1 setItemsCanFocus(true).:从不显示选择器,但EditText使用箭头时可以获得焦点.焦点搜索算法难以预测,并且没有选择哪个项目的视觉反馈(在任何行上:具有可聚焦儿童或不具有可聚焦儿童),这两者都可以给用户带来意想不到的体验.
2 setItemsCanFocus(false).:选择器始终以非触摸模式绘制,并且EditText永远无法获得焦点 - 即使您点击它也是如此.
更糟糕的是,调用editTextView.requestFocus()返回true,但事实上并没有给EditText带来焦点.
我想象的基本上是1和2的混合,而不是列表设置,如果所有项目都是可聚焦的,我想为列表中的单个项目设置可聚焦性,以便选择器从选择无缝转换不可聚焦项目的整行,以及遍历包含可聚焦子项的项目的焦点树.
任何接受者?
我正在尝试编写一款可以帮助您管理财务状况的应用.我正在使用一个EditText用户可以指定金额的字段.
我设置inputType到numberDecimal其工作正常,但,这让人们输入数字,如123.122这是不完美的钱.
有没有办法将小数点后的字符数限制为两个?
如何设置Android EditText输入的最大字符数?我看到setMaxLines,setMaxEMS,但没有任何字符数.
在我的应用程序中,有一个注册屏幕,我不希望用户能够将文本复制/粘贴到该EditText字段中.我已经设置了onLongClickListener每个,EditText以便显示复制/粘贴/输入方法和其他选项的上下文菜单不显示.因此,用户将无法复制/粘贴到"编辑"字段中.
OnLongClickListener mOnLongClickListener = new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// prevent context menu from being popped up, so that user
// cannot copy/paste from/into any EditText fields.
return true;
}
};
Run Code Online (Sandbox Code Playgroud)
但是,如果用户启用了除Android默认设置之外的第三方键盘,则可能出现问题,该键盘可能具有复制/粘贴按钮或可能显示相同的上下文菜单.那么如何在该场景中禁用复制/粘贴?
如果还有其他方法可以复制/粘贴,请告诉我.(可能还有如何禁用它们)
任何帮助,将不胜感激.
<EditText
android:id="@+id/editText2"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:maxLines="5"
android:lines="5">
</EditText>
Run Code Online (Sandbox Code Playgroud)
用户可以按Enter/next行键输入5行以上.如何使用EditText将用户输入限制为固定的行数?
有没有办法以编程方式关闭在EditText中键入时弹出的autosuggest列表?