Keyboard pops up for non-editable TextInput in Android 7.0-8.1
まだ誰も着手していません。
- 主要言語
- C++
- スター
- 127k
- フォーク
- 25.3k
- 平均マージ
- 1日 23時間
- マージ済み PR(30日)
- 4
説明
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
- Start an Android emulator or device with API 24-27 (Android 7.0-8.1)
- 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} />
- Tap the TextInput (to make sure it is focused)
- At the bottom of the screen, in the system navigation bar, tap the Overview (square) button
- Return to the app
- 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
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、Android API 24-27 エミュレーターで必須の reproducer を実行し、編集不可の TextInput に対するフォーカスとキーボードの動作を確認します。次に、Android TextInput のフォーカスとソフトキーボードの処理を追跡します。完了条件は、editable が false の場合にアプリへ戻ってもキーボードが開かなくなることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- android, react-native
- 領域
- mobile
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 48/100