Articles of android edittext

禁用EditText上下文菜单

我正在为传统的蒙古文制作一个垂直的EditText 。 我已经成功地通过在旋转的ViewGroupembedded稍微修改的EditText实现它。 我需要创build一个完全自定义的上下文菜单,因为系统不支持垂直文本,并且在ViewGroup旋转时也不会旋转。 所以我想完全禁用系统上下文菜单。 请注意,这是不同于这些问题,只是试图禁用复制/粘贴/等: 如何禁用从/到EditText复制/粘贴 EditText:禁用粘贴/replace菜单popup文本select处理程序单击事件 如何在Android EditText中禁用粘贴选项 Android:如何完全禁用Edittext中的复制和粘贴function 虽然我没有看到在模拟器中出现的上下文菜单,但是我的Android 5.0.2小米手机却出现了。 我努力了: setCustomSelectionActionModeCallback “解决scheme” setLongClickable(false); “解” onTouchEvent “解决scheme” 我对黑客开放,但我需要它持续工作跨设备。 马克·墨菲(共同专家) 写了一段时间回复给另一个用户试图做类似的事情: 我怀疑,即使你想出了答案,它不会跨设备工作。 设备制造商已经倾向于为EditText推出自己的“上下文菜单”,从而击败了开发人员将项目添加到该上下文菜单的尝试。 我的猜测是试图阻止上下文菜单将有类似的结果。 我运气不好吗? 我现在唯一能想到的是从头开始完全重写TextView和EditText (通过修改Android源代码)。 我知道别人做了类似的事情,但他的代码不是开源的。 在采取这一重大步骤之前,我想尝试在Stack Overflow上寻求一个更简单的解决scheme。 更新:我一直在尝试修改过去两天的TextView源代码,它看起来像一个6个月的项目。 这是一个相互关联的群体。 我需要另一个解决scheme,但我没有想法。 MVCE 这是我能想到重新创build问题的最简单的方法。 没有必要从我的自定义EditText 。 该布局具有通过replace默认项目Hello World的TextView制作的单个EditText 。 我将min API改为11,以避免处理已弃用的方法。 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) […]

Android调整第一次后不工作

我的问题:从第二次开始,软件键盘显示在屏幕上,它完全隐藏我的EditText。 属性android:windowSoftInputMode =“adjustPan”已经在AndroidManifest.xml中指定,但是它只能在第一次使用。 我有以下布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="464dp" android:gravity="top" android:orientation="vertical" android:paddingLeft="16dp" android:paddingRight="16dp" > <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="10" android:background="#E3E3E2" android:gravity="top" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <EditText android:id="@+id/addListText" android:layout_width="0dp" android:layout_height="48dp" android:layout_weight="10" android:contentDescription="@string/addItemContentDescription" android:gravity="bottom|center_horizontal" android:inputType="textLongMessage" android:textColor="#E3E3E2" android:visibility="gone" /> <ImageButton android:id="@+id/addTextListButton" android:layout_width="0dp" android:layout_height="48dp" android:layout_weight="1" android:layout_gravity="right" android:background="@android:color/transparent" android:contentDescription="@string/addItemButton" android:scaleType="fitCenter" […]

如何停止当焦点改变时自动显示软键盘(OnStart事件)

我正在开发使用Android 2.2的平板电脑。 我有一个表单,我正在使用新的和可编辑的实例。 当可编辑时,我想停止用户编辑某些领域。 我在onStart -event中pipe理这个,设置txt.setFocusableInTouchMode(false) 。 这强制了焦点到我的窗体中的下一个可调焦的EditText (这太棒了),但是在运行时,软键盘自动出现在带有焦点的EditText上。 有人知道如何阻止这个? 下面是代码(在onStart事件中onStart ): private void PopulateFields(){ TextView txtTitle = (TextView) this.findViewById(R.id.txtEquipmentEditTitle); AutoCompleteTextView txtMake = (AutoCompleteTextView) this.findViewById(R.id.autEquipmentEditMake); AutoCompleteTextView txtModel = (AutoCompleteTextView) this.findViewById(R.id.autEquipmentEditModel); EditText txtDesc = (EditText) this.findViewById(R.id.txtEquipmentEditDesc); TextView txtDeptKey = (TextView) this.findViewById(R.id.txtEquipmentEditDeptKey); EditText txtSerial = (EditText) this.findViewById(R.id.txtEquipmentEditSerialNo); EditText txtBarCode = (EditText) this.findViewById(R.id.txtEquipmentEditBarCode); txtTitle.setText("Edit Equipment"); txtMake.setText(make); txtModel.setText(model); txtDesc.setText(desc); […]

Android EditText和Button在同一行上

我需要在Search button旁边有一个Edittext 。 EditText应该尽可能地填充宽度,button应该在右边,并且大到足以容纳文本。 现在看起来像这样: [EDIT TEXT][Search] 但应该看起来像这样: […….EDIT TEXT…….][Search] 这里是XML : <RelativeLayout android:id="@+id/RelativeLayout01" android:layout_width="fill_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/search_box" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="type to filter" android:inputType="text" android:maxLines="1" /> <Button android:id="@+id/search_text" android:layout_toRightOf="@id/search_box" android:text="Search" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </RelativeLayout>

如何保留方向变化的EditText数据?

我有一个login屏幕,其中包含2个用户名和密码的EditTexts。 我的要求是在方向改变时,EditText中的input数据(如果有的话)应该保持原样,并且还应绘制新的布局。 我有2个布局xml文件 – 一个在layout文件夹中,另一个在layout-land文件夹中。 我试图实施以下两种方法,但没有一个是完美的: (1)configChanges:keyboardHidden –在这种方法中,我不提供清单文件中的configChanges中的“方向”。 所以我在onCreate()和onConfigurationChanged()方法中调用了setContentView()方法。 它符合我的要求。 布局已更改,EditText中的input数据也保持原样。 但是它有一个很大的问题: 当用户点击loginbutton时, ProgressDialog会显示,直到收到服务器响应 。 现在,如果用户在ProgressDialog运行时旋转设备,则应用程序崩溃。 它显示一个例外说“查看不能附加到窗口”。 我已经尝试使用onSaveInstanceState(它会调用方向更改)处理它,但应用程序仍然崩溃。 (2)configChanges:orientation | keyboardHidden –在这个方法中,我在manifest中提供了“orientation”。 所以现在我有两个场景: (a)如果我在onCreate()和onConfigurationChanged()方法中调用setContentView()方法,布局相应地改变,但是EditText数据丢失。 (b)如果我在onCreate()中调用setContentView()方法,而不是在onConfigurationChanged()中调用,那么EditText数据不会丢失,但布局也不会相应地改变。 在这种方法中,onSaveInstanceState()甚至没有被调用。 所以我处于一个非常恐怖的境地。 有没有解决这个问题? 请帮忙。 提前感谢。

如何在EditText中设置文本

我如何设置EditText的文本?

带有build议列表的EditText如下

我想在我的应用程序中实现“Google即时”列表。 在上面有一个editText和一个下面的列表,每当用户键入一个新的字符时,这个更新就会被更新。 你能把我指向正确的方向吗? 有什么小工具或任何我可以使用或我必须删除列表,并重新创build它每次用户input的东西? 在此先感谢迈克

用EditText显示密码

我使用EditTextinput密码。 还有一个CheckBox来显示密码。 下面的function是部分: public void ShowPassword() { if (cb.isChecked()) { password.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); } else { password.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD); } } 当它检查时,它显示密码。 但是,如果没有检查,它确实显示星星。 如何修改它显示明星,而没有选中cb?