Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ строк Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ… систСмы 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° прСдоставляСт нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² для манипуляции Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ элСмСнтами списка, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности повСдСния ΠΈ области примСнСния. ПониманиС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ установкой Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта ΠΈ Π΅Π³ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ критичСски Π²Π°ΠΆΠ½ΠΎ для создания ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятного интСрфСйса.

Π’ зависимости ΠΎΡ‚ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ просто ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ курсор Π½Π° Π½ΡƒΠΆΠ½ΡƒΡŽ запись ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΡΠ²Π½ΡƒΡŽ подсвСтку строки Ρ†Π²Π΅Ρ‚ΠΎΠΌ, игнорируя Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС фокуса Π²Π²ΠΎΠ΄Π°. ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ выполнСния ΠΊΠΎΠ΄Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ³Ρ€Π°Π΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ: дСйствия Π² клиСнтском ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, толстом ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈΠ»ΠΈ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ этом ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ всС доступныС инструмСнты ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Различия ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строкой ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ написанию ΠΊΠΎΠ΄Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Π΄Π²Π° Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… понятия Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Ρ„ΠΎΡ€ΠΌ 1Π‘. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ понятиС β€” это тСкущая строка, которая опрСдСляСт ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ курсора Π²Π²ΠΎΠ΄Π°. ИмСнно эта строка считаСтся Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ для рСдактирования Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ Π½Π° Π½Π΅Π΅ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ дСйствия ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²Π²ΠΎΠ΄ тСкста ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ записи.

Π’Ρ‚ΠΎΡ€ΠΎΠ΅ понятиС β€” это выдСлСнная строка. Π­Ρ‚ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, ΠΊΠ°ΠΊΠΎΠΉ элСмСнт списка Π²Ρ‹Π±Ρ€Π°Π½ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ стандартных ситуаций тСкущая строка ΠΈ выдСлСнная строка ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚. Однако Π² слоТных сцСнариях, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с иСрархичСскими списками ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π΅ элСмСнтов Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ фокуса, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ.

НСкоррСктноС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ этими состояниями часто ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΈΠ΄ΠΈΡ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ строкС, Π° систСма ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ строки. Π›ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Π° всСгда ΠΎΠΏΠΈΡ€Π°Ρ‚ΡŒΡΡ Π½Π° явно Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ условия, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ рассинхронизации интСрфСйса ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈ Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ выдСлСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ толстого ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈΠ·-Π·Π° особСнностСй Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° интСрфСйса Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ. ВсСгда тСстируйтС сцСнарии выдСлСния Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ запуска прилоТСния.

πŸ“Š Какой Ρ€Π΅ΠΆΠΈΠΌ запуска 1Π‘ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
Π’ΠΎΠ½ΠΊΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚
Π’Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚
Волстый ΠΊΠ»ΠΈΠ΅Π½Ρ‚
МобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅

НаиболСС распространСнный сцСнарий выдСлСния строки Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π’Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΉΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ списком Ρ„ΠΎΡ€ΠΌΡ‹. Для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ пСрСмСщСния курсора ΠΈ установки выдСлСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π² сочСтании со свойствами области. Однако, Ссли Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎ спискС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ спискС Ρ„ΠΎΡ€ΠΌΡ‹, основным инструмСнтом являСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ.

Рассмотрим ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ запись ΠΏΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ строк, Π·Π°Ρ‚Π΅ΠΌ ΠΈΡ‰Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ΠΉ элСмСнт ΠΈ примСняСм ΠΊ Π½Π΅ΠΌΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ выдСлСния.

&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒΠΡƒΠΆΠ½ΡƒΡŽΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ(Π‘ΡΡ‹Π»ΠΊΠ°ΠΠ°ΠžΠ±ΡŠΠ΅ΠΊΡ‚)

// ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ строки

Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Бписок.Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ;

// ΠžΡ‡ΠΈΡ‰Π°Π΅ΠΌ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Ссли Π½ΡƒΠΆΠ½ΠΎ

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Бписок.Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ();

// Π˜Ρ‰Π΅ΠΌ индСкс строки ΠΏΠΎ ссылкС

Π˜Π½Π΄Π΅ΠΊΡΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Бписок.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ‘ΡΡ‹Π»ΠΊΠ΅(Π‘ΡΡ‹Π»ΠΊΠ°ΠΠ°ΠžΠ±ΡŠΠ΅ΠΊΡ‚);

Если Π˜Π½Π΄Π΅ΠΊΡΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Бписок.ВСкущаяБтрока = Π˜Π½Π΄Π΅ΠΊΡΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ;

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Бписок.Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ(Π˜Π½Π΄Π΅ΠΊΡΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ‘ΡΡ‹Π»ΠΊΠ΅ являСтся ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Если ΠΆΠ΅ поиск осущСствляСтся ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌΡƒ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ части наимСнования, придСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ». Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΉ индСкс сущСствуСт Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ выдСлСния.

πŸ’‘

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими списками (Π±ΠΎΠ»Π΅Π΅ 10 000 строк) ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ цикличСского ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° всСх строк Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Π±ΠΎΡ€Ρ‹ ΠΈΠ»ΠΈ поиск ΠΏΠΎ индСксу для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ интСрфСйса.

Π Π°Π±ΠΎΡ‚Π° с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠΌ «ВСкущаяБтрока» Π² спискС Ρ„ΠΎΡ€ΠΌΡ‹

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ динамичСский список Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ индСкс Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ элСмСнта. ΠŸΡ€ΡΠΌΠΎΠ΅ присваиваниС значСния этому Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ являСтся самым быстрым способом пСрСмСщСния курсора. БинтаксичСски это выглядит ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ свойству ВСкущаяБтрока ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° списка.

Однако простоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ индСкса Π½Π΅ всСгда Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ строка Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ подсвСчСна ΠΊΠ°ΠΊ "выбранная" Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ (синим Ρ„ΠΎΠ½ΠΎΠΌ). Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ конфигурациях интСрфСйса ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки лишь ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Ρ€Π°ΠΌΠΊΡƒ фокуса. Для Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ эффСкта часто трСбуСтся явный Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° выдСлСния сразу послС смСны индСкса.

БущСствуСт нюанс ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с иСрархичСскими списками. Если Π²Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ выдСляСтС строку, которая находится Π² свСрнутой Π²Π΅Ρ‚ΠΊΠ΅ Π΄Π΅Ρ€Π΅Π²Π°, систСма ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΡƒΠ·Π»Ρ‹. Π­Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ зависит ΠΎΡ‚ свойства ΠΠ²Ρ‚ΠΎΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹. Если автоматичСскоС раскрытиС Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π΅Π³ΠΎ слСдуСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹.

  • 🎯 Бвойство ВСкущаяБтрока ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ индСкса (число) ΠΈΠ»ΠΈ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ.
  • πŸ‘οΈ ΠœΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ обСспСчиваСт Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π°ΠΊΡ†Π΅Π½Ρ‚ Π½Π° элСмСнтС.
  • 🌳 ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠ΅ΠΉ провСряйтС свойство Π Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Ρƒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΡƒΠ·Π»ΠΎΠ².

β˜‘οΈ Алгоритм Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ выдСлСния строки

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 5

Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ

Π’ Π·Π°Π΄Π°Ρ‡Π°Ρ… массового рСдактирования ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΠΎΠ²ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ сразу нСсколько записСй Π² спискС. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… строк, прСдоставляя Π³ΠΈΠ±ΠΊΠΈΠ΅ инструмСнты для управлСния мноТСствСнным Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ. Π­Ρ‚ΠΎ рСализуСтся Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ БписокЗначСний, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ свойством Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ.

Для добавлСния строки Π² Π³Ρ€ΡƒΠΏΠΏΡƒ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‘ индСкс Π² эту ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ индСкса Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Π½Π΅ всСгда автоматичСски обновляСт Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ состояниС списка ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ. Π’ старых вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ трСбовался Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° обновлСния, Π½ΠΎ Π² соврСмСнных Ρ€Π΅Π»ΠΈΠ·Π°Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΈΡ‚ пСрСрисовку.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ ΠΌΡ‹ выдСляСм всС строки, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ статус. ΠœΡ‹ ΠΎΡ‡ΠΈΡ‰Π°Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ список Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΉ, ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΠΎ всСм строкам ΠΈ добавляСм Π½ΡƒΠΆΠ½Ρ‹Π΅ индСксы Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ.

&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒΠ’ΡΠ΅ΠΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ()

БписокВыдСлСния = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Бписок.Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ;

БписокВыдСлСния.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ();

Для КаТдого ВСкущаяБтрока Из Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Бписок Π¦ΠΈΠΊΠ»

Если ВСкущаяБтрока.Бтатус = ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ.Бтатусы.АктивСн Π’ΠΎΠ³Π΄Π°

БписокВыдСлСния.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(ВСкущаяБтрока.ИндСкс);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

// ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ запись ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² интСрфСйс

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Бписок.Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ = БписокВыдСлСния;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ большого количСства строк (сотни ΠΈ тысячи) интСрфСйс ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ "Π·Π°Π²ΠΈΡΠ½ΡƒΡ‚ΡŒ" ΠΈΠ·-Π·Π° пСрСрисовки. РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ прогрСсса ΠΈΠ»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ выдСляСмых элСмСнтов.

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ…

АрхитСктура управляСмых Ρ„ΠΎΡ€ΠΌ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ограничСния Π½Π° прямой доступ ΠΊ элСмСнтам управлСния. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ, здСсь ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡ… прСдставлСниями. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ выдСлСния строк Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ… тСсно связан с ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий.

Часто Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ситуациСй, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ выполняСтся Π½Π° сСрвСрС Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ строку Π½Π΅ Π΄Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Π­Ρ‚ΠΎ происходит ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ сСрвСрный контСкст Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ клиСнтским интСрфСйсом. РСшСниСм являСтся использованиС инструкций &ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈΠ· сСрвСрного контСкста.

Если Π»ΠΎΠ³ΠΈΠΊΠ° выдСлСния зависит ΠΎΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… с сСрвСра, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сСрвСрС, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° индСкса ΠΈΠ»ΠΈ ссылки Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… Π²Ρ‹Π·ΠΎΠ²Π°, ΠΈ ΡƒΠΆΠ΅ Ρ‚Π°ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ выдСлСния. ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ этого ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкам выполнСния ΠΈΠ»ΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΡŽ Π²ΠΈΠ΄ΠΈΠΌΠΎΠ³ΠΎ эффСкта.

ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ выполнСния Доступ ΠΊ интСрфСйсу Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄
ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠŸΡ€ΡΠΌΠΎΠΉ Π²Ρ‹Π·ΠΎΠ² Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ
Π‘Π΅Ρ€Π²Π΅Ρ€ ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ
Π’Π½Π΅ΡˆΠ½Π΅Π΅ соСдинСниС ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π§Π΅Ρ€Π΅Π· COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹
ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½Ρ‹ΠΉ Π§Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹
ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· сСрвСра?

БСрвСрная Ρ‡Π°ΡΡ‚ΡŒ 1Π‘ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ процСссС ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ доступа ΠΊ ΠΎΠΊΠ½Π°ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π›ΡŽΠ±Ρ‹Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ интСрфСйс Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ клиСнтским ΠΊΠΎΠ΄ΠΎΠΌ.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий измСнСния выдСлСния

Для создания Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… интСрфСйсов Π²Π°ΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ строки, Π½ΠΎ ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈΠ’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ…Π‘Ρ‚Ρ€ΠΎΠΊ позволяСт ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ измСнСния Π² Π²Ρ‹Π±ΠΎΡ€Π΅ элСмСнтов списка. Π­Ρ‚ΠΎ событиС срабатываСт ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ ΠΌΡ‹ΡˆΡŒΡŽ, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ выдСлСния.

ИспользованиС этого события Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ остороТности. Если Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π²Ρ‹ снова ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ цикличСская рСкурсия ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ состояний. НапримСр, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ пытаСтся Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π½ΡƒΡŽ строку, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ элСмСнт.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ событиС Π’Ρ‹Π±ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ срабатываСт ΠΏΡ€ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅ ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Enter. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ измСнСния выдСлСния, Π²Ρ‹Π±ΠΎΡ€ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ дСйствия с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ этих понятий ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠ΅ сцСнарии Ρ€Π°Π±ΠΎΡ‚Ρ‹: Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ для прСдпросмотра Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… полях Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π²Ρ‹Π±ΠΎΡ€ для открытия ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

  • ⚑ Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈΠ’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ…Π‘Ρ‚Ρ€ΠΎΠΊ срабатываСт ΠΏΡ€ΠΈ любом ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π½Π°Π±ΠΎΡ€Π°.
  • πŸ”„ Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ измСнСния выдСлСния Π²Π½ΡƒΡ‚Ρ€ΠΈ этого ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π±Π΅Π· Ρ„Π»Π°Π³ΠΎΠ² Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ рСкурсии.
  • βœ… Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ событиС Π’Ρ‹Π±ΠΎΡ€ для дСйствий, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… подтвСрТдСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ рСгулярно обновляСтся. ПовСдСниС событий ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² Π½ΠΎΠ²Ρ‹Ρ… Ρ€Π΅Π»ΠΈΠ·Π°Ρ…. БвСряйтС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ синтаксису Π² справочной систСмС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π½Π° ΠΏΠΎΡ€Ρ‚Π°Π»Π΅ ИВБ.

πŸ’‘

Π“Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ выдСлСния (Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ фокус) ΠΈ Π²Ρ‹Π±ΠΎΡ€Π° (дСйствиС) Π΄Π΅Π»Π°Π΅Ρ‚ интСрфСйс 1Π‘ Π±ΠΎΠ»Π΅Π΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΌ ΠΈ понятным для ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

Как Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ строку, Ссли список Ρ„ΠΎΡ€ΠΌΡ‹ пуст?

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ строку Π² пустом спискС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС выполнСния ΠΈΠ»ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠŸΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ ΠΈΠ»ΠΈ присваиваниСм ВСкущаяБтрока ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ провСряйтС количСство строк Π² спискС Ρ‡Π΅Ρ€Π΅Π· свойство ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ. Если список пуст, Π»ΠΎΠ³ΠΈΠΊΠ° выдСлСния Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π°.

МоТно Π»ΠΈ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ строку Π² иСрархичСском спискС, Ссли ΠΎΠ½Π° свСрнута?

Π”Π°, это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ строки, находящСйся Π²Π½ΡƒΡ‚Ρ€ΠΈ свСрнутой Π³Ρ€ΡƒΠΏΠΏΡ‹, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° автоматичСски раскроСт Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΡƒΠ·Π»Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ элСмСнт Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ. Однако, Ссли свойство Ρ„ΠΎΡ€ΠΌΡ‹ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎ-раскрытиС, строка выдСлится логичСски, Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΅Ρ‘ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ Π΄ΠΎ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ раскрытия Π²Π΅Ρ‚ΠΊΠΈ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ Π½Π΅ подсвСчиваСт строку Ρ†Π²Π΅Ρ‚ΠΎΠΌ?

Π§Π°Ρ‰Π΅ всСго это связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ фокус Π²Π²ΠΎΠ΄Π° находится Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ элСмСнтС Ρ„ΠΎΡ€ΠΌΡ‹. Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ строки Π² спискС часто Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ отобраТаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° сам список ΠΈΠΌΠ΅Π΅Ρ‚ фокус. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Бписок.ΠΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ() ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ строки.

Как ΡΠ½ΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ со всСх строк ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ?

Для снятия выдСлСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… строк. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄: Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Бписок.Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ(). Π’Π°ΠΊΠΆΠ΅ рСкомСндуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ВСкущаяБтрока Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ НСопрСдСлСно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ½ΡΡ‚ΡŒ курсор Π²Π²ΠΎΠ΄Π°.

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ строк Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ… 1Π‘?

Π’ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ… концСпция выдСлСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΈΠ·-Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° экрана ΠΈ сСнсорного управлСния. Часто вмСсто классичСского выдСлСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² Ρ€Π΅ΠΆΠΈΠΌ просмотра ΠΈΠ»ΠΈ рСдактирования ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ выдСлСния ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ отобраТСния Π² зависимости ΠΎΡ‚ вСрсии мобильного прилоТСния.