EditText表现得很奇怪
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EditText表现得很奇怪相关的知识,希望对你有一定的参考价值。
在我的片段中,我有两个editTexts(下面给出的xml)。当片段显示在屏幕上时,当我触摸第一个编辑文本时,软键盘不可见,我必须首先触摸第二个编辑文本,使键盘可见,然后我才能输入第一个编辑文本。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/male" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center_horizontal"
android:orientation="horizontal">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dp"
android:src="@drawable/tel" />
<EditText
android:id="@+id/dad_phone_edt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="16dp"
android:backgroundTint="#ffffff"
android:fontFamily="@font/sansation_regular"
android:inputType="phone"
android:textColor="#ffffff" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center_horizontal"
android:orientation="horizontal">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dp"
android:src="@drawable/skype" />
<EditText
android:id="@+id/dad_skype_edt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:backgroundTint="#ffffff"
android:fontFamily="@font/sansation_regular"
android:inputType="textPersonName"
android:textColor="#ffffff" />
</LinearLayout>
答案
这是建立它的一种方法
EditText editText= (EditText) fragmentView.findViewById(R.id.dad_phone_edt);
editText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.RESULT_SHOWN,0);
}
});
当您单击editText
时,您强制键盘显示
你可以为dad_skype_edt
做同样的事情
隐藏键盘按下,
如果要在触摸布局的任何位置时隐藏它,请添加此代码
your_parent_view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
View view = activity.getCurrentFocus();
if (view != null) {
InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
return false;
}
});
以上是关于EditText表现得很奇怪的主要内容,如果未能解决你的问题,请参考以下文章