单击网格视图单元格时显示软键盘



我有一个网格视图,希望在用户单击单元格时显示键盘。然后,键盘的输入将显示在单元格中。我试过下面的代码,我从安卓系统得到:当焦点放在EditText和其他类似的问题上时,自动显示软键盘。不过,我无法让键盘出现。

对此有什么想法吗?

 gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v,int position, long id) {
            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.showSoftInput(gridView, InputMethodManager.SHOW_IMPLICIT);
        }
    });

我试过InputMethodManager.SHOW_FORCED,但也没用。

感谢

编辑

网格的单元格布局如下。我把它改成了EditText,但仍然没有键盘。从用户界面的角度来看,将其作为EditText对我来说并不太好。理想情况下,我是TextView,然后当用户单击它时,它可能会变成EditText,这样用户就可以输入一些内容。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:padding="5dp" >
<EditText
        android:id="@+id/grid_item_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@+id/celllabel"
        android:textSize="15px" >
</EditText>

我的想法是它保持为TextView。键盘打开,当用户单击一个字母时,键盘关闭,一个字母出现在GridCell中。我的想法可能吗?

感谢

一个建议:

  1. 创建一个自定义EditText,如果需要,可以隐藏光标(使其看起来像TextView
  2. 通过删除LinearLayout优化单元格布局

代码:

<?xml version="1.0" encoding="utf-8"?>
<YourCustomEditText xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/grid_item_label"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="@+id/celllabel"
        android:maxLength="1"
        android:textSize="15px" >
</YourCustomEditText>
  1. 使用TextWatcherfocus界面控制键盘的显示/隐藏

希望得到帮助!

相关内容

  • 没有找到相关文章