2011-05-19 28 views
0

我的Java类文件看起来像KeyEvent.KEYCODE_ENTER如何提高

public class SignIn extends Activity { 

/*** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.signin); 
} 

/***Enter key event in phone********************************/ 
public boolean onKey(View v, int keyCode, KeyEvent event) { 
    switch(keyCode) { 
    case KeyEvent.KEYCODE_ENTER: 
    Intent intent = new Intent(SignIn.this, List_Of_Songs.class); 
    startActivity(intent); 
      break; 

    default: 
      return false; 
    } 

    return true; 
} 

}

和XML

<?xml version="1.0" encoding="utf-8"?> 

<TextView android:id="@+id/signinemailtxt" 
    android:layout_width="wrap_content" android:layout_height="wrap_content" 
    android:text="Email" android:textSize="20dp" android:layout_marginTop="65dp" 
    android:layout_marginLeft="25dp" android:paddingRight="50dp" android:textColor="#000000"/> 

<EditText android:id="@+id/signinemailid" android:hint="[email protected]" 
    android:layout_height="28dp" android:layout_width="170dp" 
    android:layout_toRightOf="@+id/signinemailtxt" 

    android:layout_marginTop="65dp" 
    android:background="#ffffff" android:layout_below="@+id/signinlayout" /> 

<TextView android:id="@+id/signinpasswordtxt" 
    android:layout_width="wrap_content" android:layout_height="wrap_content" 
    android:text="Password" android:textSize="20dp" 
    android:layout_marginTop="20dp" android:layout_marginLeft="25dp" 
    android:layout_below="@+id/signinemailtxt" android:paddingRight="15dp" android:textColor="#000000" /> 

<EditText android:id="@+id/signinpassword" android:hint="password" 
    android:layout_height="28dp" android:layout_width="170dp" 
    android:layout_toRightOf="@+id/signinpasswordtxt" 
    android:layout_marginTop="20dp" 
    android:background="#ffffff" android:layout_below="@+id/signinemailid" /> 

现在,当我按下电话中的enterkey它不会去意图..重点保持与edittext passsword它自己...怎么办?

回答

2

添加在Java代码中以下行密钥的安其方法被称为:

1)创建编辑文本的对象:

EditText editText = (EditText) findViewById(R.id.signinpassword); 

2)onKeyListener添加到它:

editText.setOnKeyListener(new OnKeyListener() { 

      @Override 
      public boolean onKey(View v, int keyCode, KeyEvent event) { 

       switch(keyCode) { 
    case KeyEvent.KEYCODE_ENTER: 
    Intent intent = new Intent(SignIn.this, List_Of_Songs.class); 
    startActivity(intent); 
      break; 

    default: 
      return false; 
    } 

    return true; 

      } 
     }); 
0

出现这种情况,因为当USR碰到物理按键ü应在此改变出现在输入法选项即softkeyboard

0

这工作对我来说,我从我的XML文件中删除android:imeOptions="actionDone"