我有一个带有四个edittext的活动,我希望在用户完成使用四个edittext之一时隐藏键盘。如果我点击键盘输入,它将聚焦另一个edittext和键盘仍然保留,但我需要隐藏键盘,所以只使用一个edittext而不一定是另一个。 这是xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent" android:background="@drawable/sfondo">
<LinearLayout android:id="@+id/linearLayout1"
android:layout_width="match_parent" android:layout_height="wrap_content">
<ImageButton android:id="@+id/backPersonalizza"
android:src="@drawable/back" android:background="@null"
android:layout_marginTop="10dip" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_marginLeft="5dp"></ImageButton>
<TextView android:layout_height="wrap_content"
android:gravity="center"
android:textColor="@android:color/black" android:id="@+id/testoSuggerimenti"
android:text="Personalizza il testo e le icone. Clicca su una delle icone e scegli l'immagine preferita"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginRight="5dp"
></TextView>
</LinearLayout>
<LinearLayout android:id="@+id/linearLayout2"
android:layout_height="wrap_content" android:layout_width="match_parent"
android:orientation="vertical" android:layout_marginTop="20dp">
<LinearLayout android:id="@+id/linearLayout3"
android:layout_height="wrap_content" android:layout_width="match_parent">
<EditText android:layout_height="40dp" android:id="@+id/editT1"
android:layout_width="115dp" android:layout_marginLeft="32dp"
android:layout_marginRight="25dp" android:gravity="center"
android:ellipsize="end" android:singleLine="true">
<requestFocus></requestFocus>
</EditText>
<EditText android:layout_height="40dp" android:id="@+id/editT2"
android:layout_width="115dp" android:layout_marginRight="10dp"
android:gravity="center" android:ellipsize="end"
android:layout_marginLeft="10dp" android:singleLine="true"></EditText>
</LinearLayout>
<LinearLayout android:layout_weight="1" android:id="@+id/linearLayout4"
android:layout_height="match_parent" android:layout_width="wrap_content">
<ImageButton android:layout_height="wrap_content"
android:layout_width="wrap_content" android:src="@drawable/tasto1"
android:id="@+id/tastoMod1" android:background="@null"
android:layout_marginLeft="30dp" android:layout_marginTop="-5dp"></ImageButton>
<ImageButton android:layout_height="wrap_content"
android:layout_width="wrap_content" android:src="@drawable/tasto2"
android:id="@+id/tastoMod2" android:background="@null"
android:layout_marginLeft="30dp" android:layout_marginTop="-5dp"></ImageButton>
</LinearLayout>
</LinearLayout>
<LinearLayout android:id="@+id/linearLayout5"
android:layout_height="wrap_content" android:layout_width="match_parent"
android:orientation="vertical">
<LinearLayout android:id="@+id/linearLayout6"
android:layout_height="wrap_content" android:layout_width="match_parent">
<EditText android:layout_height="40dp" android:id="@+id/editT3"
android:layout_width="115dp" android:layout_marginLeft="32dp"
android:layout_marginRight="25dp" android:gravity="center"
android:ellipsize="end" android:singleLine="true"></EditText>
<EditText android:layout_height="40dp" android:id="@+id/editT4"
android:layout_width="115dp" android:layout_marginRight="30dp"
android:gravity="center" android:ellipsize="end" android:singleLine="true"
android:layout_marginLeft="10dp"></EditText>
</LinearLayout>
<LinearLayout android:id="@+id/linearLayout7"
android:layout_height="wrap_content" android:layout_width="match_parent">
<ImageButton android:layout_height="wrap_content"
android:layout_width="wrap_content" android:src="@drawable/tasto3"
android:id="@+id/tastoMod3" android:background="@null"
android:layout_marginLeft="30dp" android:layout_marginTop="-5dp"></ImageButton>
<ImageButton android:layout_height="wrap_content"
android:layout_width="wrap_content" android:src="@drawable/tasto4"
android:id="@+id/tastoMod4" android:background="@null"
android:layout_marginLeft="30dp" android:layout_marginTop="-5dp"></ImageButton>
</LinearLayout>
</LinearLayout>
你可以帮帮我吗?
答案 0 :(得分:18)
我不确定,但您应该尝试以下代码: -
youredittext.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int keyCode, KeyEvent event) {
if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
// hide virtual keyboard
InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(youredittext.getWindowToken(), 0);
return true;
}
return false;
}
});
我希望这会有所帮助..
答案 1 :(得分:0)
最好的方法是在XML文件中添加以下代码
android:imeOptions="actionDone"
我不明白为什么人们建议使用java代码 更好的选择