Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Keyboard pops up for non-editable TextInput in Android 7.0-8.1

Aberta
#54,565 7 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
48/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
android, react-native
Domínio
mobile

Direção de pesquisa

Comece executando o reproducer obrigatório em um emulador Android com API 24-27 e confirme o comportamento do foco e do teclado para um TextInput não editável. Em seguida, rastreie o tratamento de foco e do teclado virtual do Android TextInput; considera-se concluído quando voltar ao aplicativo não abrir mais o teclado quando editable for false.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

API: Keyboard Component: TextInput Needs: Triage :mag: Platform: Android
Description

In Android 7.0-8.1 (API levels 24-27), if a TextInput with editable={false} is focused, and the user leaves the app and then returns to it, the soft keyboard pops up.

This issue is reproducible on newly-created React Native 0.82.1 projects. I could not reproduce it with RNTesterPlayground.js, though.

Steps to reproduce
  1. Start an Android emulator or device with API 24-27 (Android 7.0-8.1)
  2. Run the provided reproducer. Alternatively, you can create and run a new React Native project with the following code:

import {TextInput} from 'react-native';
[...]
<TextInput style={{height: 40, borderWidth: 1, margin: 20}} editable={false} />

  1. Tap the TextInput (to make sure it is focused)
  2. At the bottom of the screen, in the system navigation bar, tap the Overview (square) button
  3. Return to the app
  4. Notice that the soft keyboard pops up
React Native Version

0.82.1

Affected Platforms

Runtime - Android

Output of npx @react-native-community/cli info
System:
  OS: macOS 15.7.2
  CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
  Memory: 737.90 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 25.1.0
    path: /usr/local/bin/node
  Yarn:
    version: 1.22.22
    path: /usr/local/bin/yarn
  npm:
    version: 11.6.2
    path: /usr/local/bin/npm
  Watchman:
    version: 2025.11.10.00
    path: /usr/local/bin/watchman
Managers:
  CocoaPods:
    version: 1.16.2
    path: /usr/local/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 25.0
      - iOS 26.0
      - macOS 26.0
      - tvOS 26.0
      - visionOS 26.0
      - watchOS 26.0
  Android SDK:
    API Levels:
      - "36"
    Build Tools:
      - 35.0.0
      - 36.0.0
      - 36.1.0
    System Images:
      - android-24 | Google APIs Intel x86 Atom
      - android-26 | Google APIs Intel x86 Atom
      - android-27 | Google Play Intel x86 Atom
      - android-28 | Google Play Intel x86 Atom
      - android-36.1 | Google Play Intel x86_64 Atom
      - android-36 | Google APIs Intel x86_64 Atom
    Android NDK: Not Found
IDEs:
  Android Studio: 2025.2 AI-252.25557.131.2521.14344949
  Xcode:
    version: 26.0.1/17A400
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.17
    path: /usr/bin/javac
  Ruby:
    version: 2.6.10
    path: /usr/bin/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 20.0.0
    wanted: 20.0.0
  react:
    installed: 19.1.1
    wanted: 19.1.1
  react-native:
    installed: 0.82.1
    wanted: 0.82.1
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: Not found
  newArchEnabled: false
Stacktrace or Logs
Not applicable.
MANDATORY Reproducer

https://github.com/sandeepsengupta/textinput-bug-reproducer

Screenshots and Videos

https://github.com/user-attachments/assets/7822dbac-7a09-4b1e-a46b-e07da0724c30

Linguagem predominante
C++
Estrelas
127k
Forks
25.3k
Métricas de merge de PRs
Nenhum PR com merge em 30d

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de react/react-native

Todas as issues de react/react-native

Issues semelhantes

Mais issues de C++

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.