android - 单击 gridview 项目和 editext 获得焦点

标签 android gridview android-edittext

我已经显示了一个gridview,它的item是textview和edittext。现在,如何实现我点击gridview item,edittext获得焦点的功能?

gridview.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {

如何覆盖这个函数? 我以前试过:

((EditText)gridview.getChildAt(position).findViewById(R.id.grid_edittext)).requestFocus();

还有:

((ViewGroup)gridview.getChildAt(position)).getChildAt(1).requestFocus();

添加了一个System.out.printlen("hello"); 在 onitemclick 函数中,但它没有显示在 logcat 中。

有 sample 吗??

最佳答案

AdapterView 获取 EditText 并设置 requestFocus() 如下。这可能是工作。

gridView.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
            EditText edittext = (EditText) view.findViewById(R.id.grid_edittext);
            edt.setFocusable(true);
            edittext.setFocusableInTouchMode(true);
            if (edittext.requestFocus()) {
                InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.showSoftInput(edittext, InputMethodManager.SHOW_IMPLICIT);
            }
      }
   });

编辑:EditText 设置 focusablefocusableInTouchModefalse,如下所示:

android:focusable="false"
android:focusableInTouchMode="false" 

关于android - 单击 gridview 项目和 editext 获得焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25519896/

相关文章:

java - 使用Web服务开发带有服务器的Android应用程序

c# - GridView 排序仅有效一次

android editText限制字符串长度而不是字符

Android runOnUiThread - 如何传递 Activity

android - 开始使用 cocos2d for android

javascript - 使用 Ajax 在 ASP.NET MVC 中异步排序 GridView

android - GridView onScrollPositionChanged?

java - 更改EditText的下划线/样式......而不是链接,并水平滚动文本

Android:编辑文本中的 "working"图片

android - Android Studio:无法解析符号