Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
活动启动时显示android键盘的问题_Android - Fatal编程技术网

活动启动时显示android键盘的问题

活动启动时显示android键盘的问题,android,Android,我正在开发android应用程序,在以下场景中遇到问题: 在第一个活动列表中,用户触摸列表项 弹出一个对话框窗口,其中包含选定项目的子类别列表 用户选择一个子类别 下一个活动从所选项目和子类别开始。请注意: 下一个活动屏幕上的第一个元素是EditText字段 下一个活动的第二个元素是按钮和 在onCreate()方法中,我在按钮speakNameBtn.requestFocus()上设置了焦点 这里的问题是:如果用户在步骤3中通过触摸列表中的子类别来选择子类别,则在下一个屏幕上,用户会看到弹

我正在开发android应用程序,在以下场景中遇到问题:

  • 在第一个活动列表中,用户触摸列表项
  • 弹出一个对话框窗口,其中包含选定项目的子类别列表
  • 用户选择一个子类别
  • 下一个活动从所选项目和子类别开始。请注意:
    • 下一个活动屏幕上的第一个元素是EditText字段
    • 下一个活动的第二个元素是按钮和 在
      onCreate()
      方法中,我在按钮
      speakNameBtn.requestFocus()上设置了焦点
  • 这里的问题是:如果用户在步骤3中通过触摸列表中的子类别来选择子类别,则在下一个屏幕上,用户会看到弹出式键盘和
    EditText
    字段,而不是按钮,具有焦点

    问题-如何防止键盘出现

    第一个屏幕对话框上的触摸事件似乎以某种方式传播到下一个活动。如果我用球来选择一个子类别而不是触摸它,那么一切都会按预期进行-焦点设置在按钮上,而我看不到键盘


    任何想法都将不胜感激

    将其置于编辑文本上方:

    <!-- Dummy item to prevent AutoCompleteTextView from receiving focus -->
    <LinearLayout
        android:focusable="true" android:focusableInTouchMode="true"
        android:layout_width="0px" android:layout_height="0px"/>
    
    
    
    几个月前我从一个论坛上拿的,效果很好。。。无法再次找到它,因此我将从我的一个项目中粘贴它。

    给出了更完整的答案。