Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.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 EditText内容在方向改变时倍增_Android_Android Edittext - Fatal编程技术网

Android EditText内容在方向改变时倍增

Android EditText内容在方向改变时倍增,android,android-edittext,Android,Android Edittext,我和EditText的情况很奇怪。 情况: 将设备设置为横向模式 输入文本以编辑文本,然后按 “完成” 改变方向 EditText包含双重文本,该文本 打字 守则: private EditText enterText; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);

我和EditText的情况很奇怪。 情况:

  • 将设备设置为横向模式
  • 输入文本以编辑文本,然后按 “完成”
  • 改变方向
  • EditText包含双重文本,该文本 打字
  • 守则:

    private EditText enterText;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    
        enterText = (EditText) findViewById(R.id.enterText);
    }
    
    如果我用findviewbyd注释该行,那么一切都正常工作

    你知道为什么会这样吗

    编辑:我已经仔细检查了一遍,每次都会发生这种情况,不仅仅是我写的那行被注释了-\


    EDIT2:它只发生在第一次方向改变事件中。“每一个下一个”都可以。

    每次您旋转手机时,活动都会重新启动,这可能会调用某些东西,导致您的文本以某种方式再次写入。这是操作系统的一部分,有点烦人,下面就是要做的

    如果您在清单中添加:

    android:configChanges="orientation"
    
    对于完成旋转的活动节点,您必须覆盖OnConfiguration Changed

    每当您的手机旋转时,覆盖的方法将调用,您可以执行特殊初始化,如忽略输入(如果之前有输入)等。希望这能让你走上正轨

    PS:您还可以使用不同的其他“值/配置”来管道化配置更改。例如键盘隐藏和许多其他

    它们列在

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
      super.onConfigurationChanged(newConfig);
      setContentView(R.layout.myLayout);
    
    }