android - 编辑文本焦点不起作用 android

标签 android android-layout android-widget

我有一个布局,通过按“创建 EditText”按钮动态填充 EditText。

    public void onCreateButtonPressed(View view) {
     EditText et = new EditText(this);
     et.setOnFocusChangeListener(new OnFocusChangeListener() {
         @Override
         public void onFocusChange(View v, boolean hasFocus) {
             int id = v.getId();
             Log.d(TAG, "EditText: "+id+"Focus state:"+hasFocus);
         }
     });
     LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
     et.setFocusableInTouchMode(true);
     et.setFocusable(true);
     et.requestFocus();
     et.setId(id++);
     layout.addView(et, params);
 }

它运行良好。但是,当我将焦点更改为某些编辑文本并按下“创建 EditText”按钮时,光标在新创建的 EditText 中闪烁,但我键入的文本未显示新创建的 EditText。在谷歌和SOF中搜索到requestFocus()函数的用法。但是我已经在新创建的 EditText 中使用了 requestFocus()。

我正在拼命寻找这个问题的解决方案。欢迎提出任何建议。

-问候, 罗恩

最佳答案

实际上,我发现了确切的问题,在之前的代码中,我请求获得焦点,然后将 View 添加到布局中。但我们需要反其道而行之。首先需要将 View 添加到布局,然后将 requestFocus 添加到编辑文本。这就是解决问题。

-问候, 罗恩..

关于android - 编辑文本焦点不起作用 android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7803109/

相关文章:

android - 在 Android 模拟器上模拟慢速网络

android - 在操作栏中为应用程序图标或 Logo 设置动画

Android:如何制作适合多种屏幕尺寸的布局?

android - 自定义 Android NumberPicker

java - 获取 imageView 的主要 Activity 上下文

android - 混合和卫星 View 在 android google maps api 中不起作用

android - 设置Android布局元素的背景颜色

android - 用相机拍照后 Intent 为空

具有不同主题的 Android 应用程序和 Actionbar

android - 使用 Canvas 在游戏中显示对话框