Articles of android edittext

我们可以在edittext中使用不可编辑的文本

我正在使用EditText 。 是否可以将文本的一部分编辑为不可编辑,其余部分可在同一EditText编辑?

自定义旋转的EditText视图,包含工作选择,光标位置等

我想做的事 我想创建一个旋转和翻转的EditText视图,该视图具有普通EditText视图的所有属性。 我的问题 我已经成功地(在SO用户的帮助下)创建了一个自定义的EditText视图,该视图既可以旋转也可以翻转。 这是通过重写onDraw方法完成的。 但是,光标和突出显示消失,longtouch事件仍指示原始文本位置。 基本上,视图被重新绘制,但触摸事件不是。 如何旋转和翻转触摸事件,突出显示和光标? 我读过的 带选择的EditText比例 (类似的问题,但不完全相同。) 如何制作一个自定义的Edittext,以便它看起来像在Android中旋转45度 (@CommonsWare注意到一个解决方案,需要通过触摸事件完成添加工作。那是什么工作?) http://developer.android.com/training/graphics/opengl/touch.html (有帮助,但我不明白如何在这种情况下应用它。) 我试过的 我创建了一个扩展EditText的自定义视图。 在其中覆盖onDraw方法以旋转和翻转canvas。 我重写onMeasure以使视图具有适合布局的尺寸。 import android.content.Context; import android.graphics.Canvas; import android.graphics.Typeface; import android.text.TextPaint; import android.util.AttributeSet; import android.widget.EditText; public class MongolEditText extends EditText { // Constructors public MongolEditText(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(); } public MongolEditText(Context context, […]

android中的android:inputType =“textPassword”,“textVisiblePassword”,“textWebPassword”和“numberPassword”之间的区别?

任何人都可以解释之间的差异 android:inputType=”textPassword”, android:inputType=”textVisiblePassword”, android:inputType=”textWebPassword”, android:inputType=”numberPassword” Android版面中的EditText ViewGroup?

Android EditText替代方案

目前,在处理大量文本行(10000+)时,Android的EditText非常慢。 似乎这种减速部分是由于EditText支持跨度的事实,主要是由于EditText正在计算每条线的宽度,这是非常昂贵的。 是否有更快的EditText替代品,或者一种优化它以使其可用的方法? 编辑:方法跟踪如下: android.text.StaticLayout.generate: 99.1% CPU time inclusive, 8.8% exclusive (1 call) android.text.Layout.getParagraphSpans: 28% inclusive, 1.1% exclusive (4686 calls) android.text.MeasuredText.setPara: 20.6% inclusive, 1.6% exclusive (2343 calls) android.text.MeasuredText.addStyleRun: 18.6% inclusive, 1.1& exclusive (2343 calls) android.text.SpannableStringBuilder.getSpans: 15% inclusive (of parent calls), 56.7% inclusive (of all calls, 47.3% of which are from android.text.Layout.getParagraphSpans, 26% are from android.text.MeasuredText.setPara, […]

EditText如何在没有任何操作栏的情况下激活复制/粘贴popup窗口?

我在delphi下,我使用android框架创建一个编辑。 当我将主题设置为Theme.DeviceDefault.Light.NoActionBar然后我可以在我的EditText中选择一些文本,我有一个popup“select all / cut / copy / paste / etc”,如下图所示。 但是,当我选择Theme.Material.Light.NoActionBar或Theme.Holo.Light.NoActionBar然后我无法选择我的EditText中的任何文本(我没有右或左文本选择句柄),当然我没有任何复制/粘贴popup窗口 他们是否可以在Theme_Material_Light_NoActionBar上进行此复制/粘贴popup? Theme.DeviceDefault.Light.NoActionBar Theme_Material_Light_NoActionBar Theme.Holo.Light.NoActionBar 注1: 当我将屏幕移动到水平,然后编辑文本占用所有可用空间,然后我可以看到我的左右文本选择句柄,如下图所示,但我认为这是因为主题交换到Theme.DeviceDefault.Light.NoActionBar当我将屏幕移动到水平但我不确定: 注2 : 在我的editText上,当我执行setCustomSelectionActionModeCallback (new Callback(){})时,从不调用Callback :(这是不正常的我认为?editText中有什么可以禁止回调? 注2 : 我可以在所有主题中选择文本(但我不能将其复制出去),但除了在Theme.DeviceDefault.Light.NoActionBar中,我看不到右侧和左侧文本选择句柄。 注3 : Theme.DeviceDefault.Light.NoActionBar仅在三星Galaxy等手机上显示左右文本选择句柄。 在其他一些方面它没有用。 注4 : 我发现了部分问题的根源! 这是因为我通过WindowManager.addView(view,layout_params)创建我的视图,这样startactionmodeforChild返回null,这禁止动作栏和文本选择句柄显示。 现在如果我在我的edittext中做了类似的事情: @Override public ActionMode startActionMode(ActionMode.Callback callback) { Activity host = (Activity) this.getContext(); return host.getWindow().getDecorView().startActionMode(callback); } 然后我可以看到左右文本动作句柄(但不是棉花糖,它只在棒棒糖上工作,我不知道为什么)。 我现在的问题是显示了操作栏,但它显示为空:(内部没有任何内容(但我可以看到剪切/复制/过去控件位于转储视图中的内部)。所以现在我不寻找方法通过popup菜单替换此操作栏(如图片Theme.DeviceDefault.Light.NoActionBar)。任何想法?

更改editText提示的字体

是否可以更改EditText字段中显示的提示的字体? 我想在xml本身设置字体。

如何从AlertDialog获取结果?

我正在使用AlertDialog.Builder来显示一个对话框,提示用户输入密码,然后我想在偏好中保存该密码,但是我无法弄清楚如何从警告对话框的输入方法中获取结果。 这基本上是我希望能够做到的: String result; AlertDialog.Builder b = new AlertDialog.Builder(this); b.setTitle(“Please enter a password”); final EditText input = new EditText(this); b.setView(input); b.setPositiveButton(“OK”, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int whichButton) { //I get a compile error here, it wants result to be final. result = input.getText().toString(); } }); b.setNegativeButton(“CANCEL”, null); b.create().show(); 但是,我愿意做一些像showDialog(int);这样的事情showDialog(int); 然后使用onCreateDialog(int)方法并以某种方式设置结果并在其他方法中接收它,但我不知道如何去做最后一部分。

为什么Android会改变具有相同ID的EditTexts的值?

我有一个包含LinearLayout的Fragment,其中不同的项目根据某些业务逻辑而膨胀。 这些项目中包含EditText。 当我有多个具有不同内容的这些项目并且我分离/附加片段时,所有EditTexts以某种方式获得所有相同的文本。 只要EditText在布局文件中具有id,就会发生这种情况。 为什么会这样? 除了删除id之外还有其他方法可以防止这种情况吗? 我想在我的虚增项目上使用findViewById来访问视图而不是容易出错的getChildAt 。 我在https://github.com/rodja/EditTextValueProblem创建了一个简单的例子来演示这个问题

Android:EditText在重新启用后无法获得焦点

我有一个带有三个标签的TabHost。 第一个选项卡的内容是自定义活动的意图,其内容视图是包含两个EditTexts和两个CheckBox(以及一个按钮)的相对布局。 检查后,每个checbox启用/禁用一个EditText和另一个checkbox。 我这样做了: chkPolaziste.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if ( isChecked ) { entryPolaziste.setFocusable(false); entryPolaziste.setEnabled(false); chkOdrediste.setFocusable(false); chkOdrediste.setEnabled(false); } else { entryPolaziste.setEnabled(true); entryPolaziste.setFocusable(true); chkOdrediste.setEnabled(true); chkOdrediste.setFocusable(true); } } }); 这很有效。 当选中一个checkbox时,它会禁用另一个checkbox和他的EditText,当我取消选中它时,会启用EditText和另一个checkbox。 但是,在启用后,我无法在EditText中输入任何内容。 当我点击它时,它只是轻弹一下,然后将焦点切换到另一个视图。 它看起来好像控件没有完全启用。 我也尝试使用requestFocus()强制重新启用重新启用的EditText,并尝试使用setFocusableInTouchMode(),但两者都没有工作。 我没有Android设备,所以我只在模拟器中测试它(Min SDK是1.6)。

使用PhoneNumberUtils中的电话号码格式NaN屏蔽EditText

我想在editText中输入用户输入的电话号码,以便在每次用户输入号码时动态改变格式。 也就是说,当用户输入最多4位数字时,如7144,editText显示“714-4”。 我希望每当用户输入数字时动态更新editText以格式化### – ### – ####。 如何才能做到这一点? 另外,我正在处理多个editTexts。