我想修改文字,但仅限于 onClick 事件,完成光标 公开 后, 错误 再次像之前一样。只有onClick事件会 显示 光标,并在完成输入后立即编辑 启用 并按下键盘操作按钮光标可见性 false 再次
这是Xml部分
<EditText
android:id="@+id/pname"
android:textStyle="bold"
android:layout_toRightOf="@+id/profileimg"
android:inputType="none"
android:layout_marginBottom="15dp"
android:layout_alignParentBottom="true"
android:layout_marginLeft="15dp"
android:textAllCaps="true"
android:cursorVisible="false"
android:background="@android:color/transparent"
android:hint="@string/nickname"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLength="10"
android:clickable="true"
android:onClick="onClick"/>
这是编码部分:
pname = (EditText) findViewById(R.id.pname);
pname.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pname.setInputType(0x0000006);
pname.setCursorVisible(true);
}
});
/*pname.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus){
pname.setCursorVisible(false);
} else {
pname.setCursorVisible(false);
}
}
});
*/
pname.setOnEditorActionListener(new EditText.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER || actionId ==EditorInfo.IME_ACTION_DONE) {
if (!event.isShiftPressed()) {
pname.setCursorVisible(false);
return true; // consume.
}
}
return false;
}
});
问题/错误:似乎只要我完成输入并按键盘操作完成键,我的活动就会停止工作
例外:
java.lang.NullPointerException:尝试在packagename.MainActivity $ 2.onEditorAction(MainActivity.java:69)第69行的空对象引用上调用虚方法'int android.view.KeyEvent.getKeyCode()'
答案 0 :(得分:1)