рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореБрдЭреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдкреБрд▓ рдЯреВ рд░рд┐рдлреНрд░реЗрд╢ рдореИрдХреЗрдирд┐рдЬреНрдо рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдЙрдкрд▓рдмреНрдз рд╕реВрдЪрд┐рдпреЛрдВ (рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓рдВрдмрд╛рдИ рдХреА рд╕реВрдЪрд┐рдпреЛрдВ, 0 рд╕реЗ ~ 100 рддрдХ рдХреА рдорд╛рдВрдЧ рдХреЗ рдХрд╛рд░рдг; рд▓реЛрдбрд┐рдВрдЧ рдЖрдЗрдЯрдо рдорд╛рдВрдЧ рдкрд░, рд╕реВрдЪрд┐рдпреЛрдВ рдХрд╛ рд╕реЗрдЯ рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рдШрдЯрдХ, рдЕрд▓рд╛
рд╡реНрдпреВрдЧрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ ) рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдирд┐рдХрд▓рд╛ред рдХрдЯ рдХреЗ рддрд╣рдд рдЗрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдореЗрд░реЗ рд╕рднреА рд╢реЛрдзреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝реЗрдВред
рд░реАрдлрд╝реНрд░реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреАрдВрдЪреЛ - рдПрдХ рдЪрд┐рдк, рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдЖрдИрдлреЛрди рд╕реЗ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдЪрд▓реЗ рдЧрдПред рд╕реВрдЪреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ред
рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рд╕рдорд╛рдЪрд╛рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦреЗрдВ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЗрд╕рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛): рд╕рдорд╛рдЪрд╛рд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдЬрд┐рд╕реЗ рд╕рдорд╛рдЪрд╛рд░ рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдкрдбреЗрдЯ рдореИрдиреБрдЕрд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдмрдЯрди рдиреАрдЪреЗ рдХреА рдУрд░ рдЪрд┐рдкрдХрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рдХреБрдЫ рдЬрдЧрд╣ рд▓реЗрддрд╛ рд╣реИред рдПрдХ рдмрдЯрди рдкрд░ рдХреАрдорддреА рд╕реНрдХреНрд░реАрди рд╕реНрдкреЗрд╕ рдХреЛ рдХреНрдпреЛрдВ рдмрд░реНрдмрд╛рдж рдХрд░реЗрдВ, рдЬреЛ рдХрд┐ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдкреБрд▓ рдЯреВ рд░рд┐рдлреНрд░реЗрд╢ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рд╕реВрдЪреА рдореЗрдВ рд╕рдмрд╕реЗ рдКрдкрд░ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рд╕реВрдЪреА рдХреЛ рдиреАрдЪреЗ рдЦреАрдВрдЪреЗрдВ рдФрд░ рдлрд┐рд░ рд╕реВрдЪреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЬрд╛рд░реА рдХрд░реЗрдВред рдирдИ рдЦрдмрд░реЛрдВ (рдЗрд░рд╛рджрд╛ рдЗрд░рд╛рджрд╛) рдХреЛ рдЕрдкрд▓реЛрдб рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд╛рдлреА рд╕рдлрд▓ рд╣реИ, рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдп рдлреЗрд╕рдмреБрдХ рдФрд░ рдЯреНрд╡рд┐рдЯрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдЕрдкрдиреЗ рд╕рдорд╛рдЪрд╛рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реБрд╡рд┐рдзрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рд▓реЗрдХрд┐рди рдЦрд░реЛрдВрдЪ рд╕реЗ рдХреНрдпреЛрдВ рд▓рд┐рдЦреЗрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рд╣реИ? рдПрдХ рддреНрд╡рд░рд┐рдд Google рдЦреЛрдЬ, рдорд╣рд╛рди рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА StackOverFlow - рдФрд░ рдпрд╣рд╛рдВ рдЬреЛрд╣рд╛рди рдиреАрд▓реНрд╕рди рдХрд╛ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп
рдПрдВрдбреНрд░реЙрдЗрдб-рдкреБрд▓рдЯреЙрд░рдлреНрд░реЗрд╢ рдЯреВрд▓ рд╣реИред рдореИрдВрдиреЗ GitHub рд╕реЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд▓рд┐рдпрд╛ рдФрд░ рдЕрдкрдиреЗ рджрдо рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред рд╡рд╣рд╛рдБ рдпрд╣ рдерд╛! рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди ... рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореИрдВ рдЫреЛрдЯреА рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ:

рдФрд░ рдРрд╕рд╛ рдкреНрд░рд╢реНрди рддреБрд░рдВрдд рдЙрдарддрд╛ рд╣реИ:
рдбрдмреНрд▓реНрдпреВрдЯреАрдПрдл? рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ 418 рд▓реЛрдЧреЛрдВ рдкрд░ рдирдЬрд░ рд░рдЦрддреА рд╣реИ, рдЬрдмрдХрд┐ 71 рд▓реЛрдЧреЛрдВ рдиреЗ рдЗрд╕реЗ рдлреЛрд░реНрдХ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣рд╛рдВ рдпрд╣ рдЗрд╕ рддрд░рд╣
рдХрд╛ рдЕрдиреБрдЪрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рдФрд░ рдХреНрдпреЛрдВ? рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ, "рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреИрдк рдХрд░реЗрдВ ...", рд╕реВрдЪреА рджреГрд╢реНрдп рд╢реАрд░реНрд╖рдХ рд╣реИред рдФрд░ рд╡рд╣ рдЫрд┐рдк рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛрд╣рд╛рди рд╕реЗ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдПрдХ
рд╕реВрдЪреА рджреГрд╢реНрдпред setSelection (1) ред рдФрд░ рдЫреЛрдЯреА рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣
рд╕реЗрдЯрд╕реЗрд▓реЗрдХреНрд╢рди (1) рд╡рд┐рдирдореНрд░рддрд╛ рд╕реЗ рдлреЗрдХ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ, рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреЛ рдФрд░ рд╢рд╛рдЦрд╛рдПрдБ
рдирд┐рдХрд▓реА :
рдПрдиреНрд╣рд╛рдВрд╕рдкреБрд▓ (рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореБрдЦреНрдп рд╢рд╛рдЦрд╛ рд╕реЗ рд╕рдЯреА рд╣реБрдИ рдереА) рдФрд░ рдЖрдЦрд┐рд░рдХрд╛рд░,
рд╕реНрдХреНрд░реЙрд▓рдлрд┐рдХреНрд╕_рдлреЛрд░реНрд╕_рд╢реЙрд░реНрдЯ_рд▓рд┐рд╕реНрдЯ :)
рдореИрдВ рд╕реНрдХреНрд░реЙрд▓рдлрд╝рд┐рдХреНрд╕_рдлреЛрд░реНрд╕_рд╢реЙрд░реНрдЯ_рд▓рд┐рд╕реНрдЯ рд╢рд╛рдЦрд╛ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЦреАрдВрдЪрддрд╛ рд╣реВрдВ, рдЗрд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкреЗрдВрдЪ рдХрд░рддрд╛ рд╣реВрдВ: рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЫреЛрдЯреА рд╕реВрдЪреА рдареАрдХ рджрд┐рдЦрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпреВрдЖрдИ рдХреЛ рдзреАрдорд╛ рдХрд░рдирд╛ рдХреНрдпреЛрдВ рд╢реБрд░реВ рдХрд┐рдпрд╛? рд▓реЗрдХрд┐рди рдмрд╛рдд рдпрд╣ рд╣реИ: рдореЗрд░реА рд╕реВрдЪреА рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдСрди-рдбрд┐рдорд╛рдВрдб рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде, рдЕрд░реНрдерд╛рддреНред рдкрд╣рд▓реЗ 10 рдЖрдЗрдЯрдо рдкрд╣рд▓реЗ рджрд┐рдЦрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЖрдк рдЕрдВрдд рддрдХ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдЧрд▓реЗ рднрд╛рдЧ рдХреЛ рд╕реВрдЪреА рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдЬреЛрд╣рд╛рди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЫреЛрдЯреА рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рддрдп рд╣реИ?
рдЬреЛрд╣рд╛рди рдиреЗ рдХрд╣рд╛, "рдФрд░
рдЪрд▓рд┐рдП рдкрд╛рджрд░ рд▓рд┐рд╕реНрдЯ рд╡реНрдпреВ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдКрдВрдЪрд╛рдИ рдХрд╛ рдПрдХ рдЦрд╛рд▓реА рджреГрд╢реНрдп рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддрд╛рдХрд┐
рд╕реЗрдЯрд╕реЗрд▓реЗрдХреНрд╢рди (1) рдлрд┐рд░ рд╕реЗ рд╣реЗрдбрд░ рдХреЛ рдЫрд┐рдкрд╛ рд╕рдХреЗред" рдЗрд╕рдХреА рдКрдВрдЪрд╛рдИ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реВрдЪреА рдореЗрдВ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреА рдХреБрд▓ рдКрдВрдЪрд╛рдИ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рд╣реЗрдбрд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдмрд┐рд▓реНрдХреБрд▓)ред рдлрд┐рд░ рд╣рдо рдЗрд╕ рдКрдВрдЪрд╛рдИ рдХреЛ ListView рдХреА рдКрдВрдЪрд╛рдИ рд╕реЗ рдШрдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рдкрд╛рдж рдХреЗ рд▓рд┐рдП рдКрдВрдЪрд╛рдИ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рд╕реВрдЪреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреА рдКрдВрдЪрд╛рдИ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП,
рдХрд╣реАрдВ рд╕реЗ "рд╕рд░рд▓" рдирд┐рд░реНрдгрдп рдПрдбреЗрдкреНрдЯрд░ рдХреЗ рд╕рд╛рде рд╕рднреА рддрддреНрд╡реЛрдВ
рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (
getView () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдФрд░
рдЙрдкрд╛рдп () рдкреНрд░рддреНрдпреЗрдХ, рдЕрд░реНрдерд╛рддреН рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдВ (рднрд▓реЗ рд╣реА рд╡реЗ рдЕрджреГрд╢реНрдп рд╣реЛрдВ)ред рдирддреАрдЬрддрди, рдореЗрд░реА рд╕реВрдЪреА рдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЗрд╕реЗ рд░реЛрд▓ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ рд░реЛрд▓ рдХрд░ рд░рд╣рд╛ рдерд╛ - рдФрд░ рдпрд╣ рддрддреНрд╡реЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рддрдХ рдирдП рднрд╛рдЧреЛрдВ рдХреЛ рд▓реЛрдб рдФрд░ рд▓реЛрдб рдХрд░реЗрдЧрд╛ред рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдорддреМрд░ рдкрд░ рд╕реВрдЪреА рдореЗрдВ 50 рд╕реЗ рдЕрдзрд┐рдХ рддрддреНрд╡ рд╣реИрдВ, рдФрд░ рдХреБрдЫ рд╕реВрдЪрд┐рдпрд╛рдВ (рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕рд╛рдордиреЗ рдЖрдП
ViewPager рдХреА рддрд░рд╣ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВ)ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣рд╛рдВ рд╕реВрдЪреА рдорджреЛрдВ рдХреА рдХреБрд▓ рдКрдВрдЪрд╛рдИ рдХреА рдЧрдгрдирд╛ рдХрд╛ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ:
private int getTotalItemHeight() { ListAdapter adapter = getAdapter(); int listviewElementsheight = 0; for(int i = 0; i < adapter.getCount(); i++) { View mView = adapter.getView(i, null, this);
рдСрди-рдбрд┐рдорд╛рдВрдб рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рд╡реИрд╕реЗ рднреА, рдЖрдкрдХреЛ рдПрдбреЙрдкреНрдЯрд░ рд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ
getView () рдХреЛ
рдЦреАрдВрдЪрдиреЗ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣рд╛рдВ рдХрд┐рд╕ рддрд░рд╣ рдХрд╛ рддрд░реНрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирддреАрдЬрддрди, рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рдкрд░реНрдпрд╛рдкреНрдд рдЙрдкрдХрд░рдг рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╕рд░реНрдлрд┐рдВрдЧ рдХрд░рдиреЗ рдЪрд▓рд╛ рдЧрдпрд╛ред рдпрд╣рд╛рдБ рдореИрдВ рдХреНрдпрд╛ рдкрд╛рдпрд╛:
рдЧрд┐рд▓рд░реНрдореЛ рдиреЗ рдУрдУрдкреА рдХреА рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдкрд░рдВрдкрд░рд╛ рдореЗрдВ,
рд╕реНрдЯреЗрдЯ рдкреИрдЯрд░реНрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрд▓ рдЯреВ рд░рд┐рдлреНрд░реЗрд╢ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдкрд░рд┐рдгрд╛рдо 13 рдХрдХреНрд╖рд╛рдПрдВ рдереАрдВ, рдФрд░ рди рдХреЗрд╡рд▓ рдкреБрд▓-рдбрд╛рдЙрди-рдЯреВ-рд░рд┐рдлреНрд░реЗрд╢ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдкреБрд▓-рдЕрдк-рдЯреВ-рд░рд┐рдлреНрд░реЗрд╢ рднреА рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рдХреНрдпреЛрдВ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрд╣реБрдд рддреЗрдЬрд╝ рдирд╣реАрдВ рдерд╛: рдареАрдХ рд╣реИ, рд╕реВрдЪреА рдХреЗ рдХрд┐рдирд╛рд░реЗ рдкрд░ рдПрдХ рднрджреНрджреА рдЙрдВрдЧрд▓реА рдирд╣реАрдВ рд╣реИред рд╣рд╛рдВ, рдФрд░ рд╣реЗрдбрд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрд╢рди рдХреЛ рдПрдХ рддреЗрдЬ рддреЗрдЬ рдЧрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдФрд░ рдПрдиреАрдореЗрд╢рди рдирд╣реАрдВ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ ... рд╣рдо рдЖрдЧреЗ рдмрдврд╝ рдЧрдПред
рдЯрд┐рдо рдорд╣реЛрдиреА рдиреЗ рдХрд┐рд╕реА рдХреЛ рдзреЛрдЦрд╛ рдирд╣реАрдВ рджрд┐рдпрд╛ рдФрд░ рддреБрд░рдВрдд README рдореЗрдВ рд▓рд┐рдЦрд╛:
"рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐: рдЫреЛрдЯреА рдЧрд╛рдбрд╝реАред" рдирд╣реАрдВ, рдпрд╣ рдПрдХ рдЧрдВрднреАрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЧреНрд░рд╛рдл рдХреЛ рджреЗрдЦрд╛ - рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреИрдирд┐рдпрд▓ рд╡рд╛рдВрдЧ рдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдФрд░ рдлрд┐рдХреНрд╕реНрдб рдмрдЧ рдХреЛ рдХрд╛рдВрдЯрд╛ред рд▓реЛ, рдЙрдкрд╡рд╛рд╕ рдХрд░реЛред рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА рдЦрд░рд╛рдм рд╣реИред рдпрджрд┐ рдкрд┐рдЫрд▓реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдпрд╣
рдСрдирд░рдлреНрд░реЗрд╢ рдШрдЯрдирд╛
рдкрд░ рд╕реВрдЪреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ рдФрд░ рдлрд┐рд░
onRefreshComplete () рдкрд░ рдХреЙрд▓ рдХрд░реЗрдВ:
((PullToRefreshListView) getListView()).setOnRefreshListener(new OnRefreshListener() { @Override public void onRefresh() { new GetDataTask().execute(); } });
private class GetDataTask extends AsyncTask { ... @Override protected void onPostExecute(Void result) { ... ((PullToRefreshListView) getListView()).onRefreshComplete(); } }
рдлрд┐рд░ рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдХ рд╣реЗрдбрд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдЖрдЧрдорди рдкрд░, рдЗрд╕рдореЗрдВ рдкрд╛рда рдХреЛ рдмрджрд▓реЗрдВ, рдареАрдХ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╕реВрдЪреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:
mRefreshHeader = new TextView(this); mRefreshHeader.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); mRefreshHeader.setGravity(Gravity.CENTER); mRefreshHeader.setText("Pull to refresh..."); mContainerView = (PullRefreshContainerView) findViewById(R.id.container); mContainerView.setRefreshHeader(mRefreshHeader); mContainerView.setOnChangeStateListener(new OnChangeStateListener() { @Override public void onChangeState(PullRefreshContainerView container, int state) { switch(state) { case PullRefreshContainerView.STATE_IDLE: case PullRefreshContainerView.STATE_PULL: mRefreshHeader.setText("Pull to refresh..."); break; case PullRefreshContainerView.STATE_RELEASE: mRefreshHeader.setText("Release to refresh..."); break; case PullRefreshContainerView.STATE_LOADING: mRefreshHeader.setText("Loading..."); new GetDataTask().execute();
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛, рд╢рд╛рдпрдж рдпрд╣ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди ... рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреЗрдЬрд░ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ: рдпрд╣ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХреНрд╖реИрддрд┐рдЬ рдФрд░ рдкреЗрдЬрд░ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рд╕реВрдЪреА рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ рд╣реИред
рдирддреАрдЬрддрди, рдореЗрд░реА рдЖрдБрдЦреЛрдВ рдореЗрдВ рдЖрдБрд╕реВ рдХреЗ рд╕рд╛рде, рдореИрдВрдиреЗ рд╕реНрдХреНрд░реЙрд▓ рдЙрдкрд╕рд░реНрдЧ_рдлреЙрд░_рд╢реЙрд░реНрдЯ_рд▓рд┐рд╕реНрдЯ
рд╢рд╛рдЦрд╛ рд╕реЗ рдЬреЛрд╣рд╛рди рдХреЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмреИрд╕рд╛рдЦреА рдкрд░ рд░рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рддрд╛рдХрд┐ рдпрд╣ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рддрдХ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рди рдХрд░реЗред рдХрд┐рд╕реА рддрд░рд╣ рдпрд╣ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛, рдЗрд╕реЗ рд╣рд▓реНрдХреЗ рдврдВрдЧ рд╕реЗ, рдЕрд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдХреНрд╖рд┐рддрд┐рдЬ рдкрд░ рдЦреБрдж рдПрдХ рдШрдЯрдХ рд▓рд┐рдЦрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░ рджрд┐рдпрд╛, рдФрд░ рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдлрд┐рд░ рд╕реЗ рд╕рд░реНрдл рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдФрд░, рд▓реЛ рдФрд░ рдирд┐рд╣рд╛рд░рдирд╛, рдореИрдВ рдХреНрд░рд┐рд╕ Baines рд╕реЗ
рдПрдХ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЖрдпрд╛ рдерд╛ред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЬреЛрд╣рд╛рди рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдереА, рд▓реЗрдХрд┐рди рддрдм рд╕реЗ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рд▓реЗрдЦрдХ рд▓рд┐рдЦрддреЗ рд╣реИрдВ)ред рдкрд░реАрдХреНрд╖рдг рдХреА рдкреБрд╖реНрдЯрд┐ рд╣реБрдИ: рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреЛрд╣рд╛рди рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдирд┐рд╣рд┐рдд рд╕рднреА рдмрдЧреЛрдВ рд╕реЗ рд░рд╣рд┐рдд рд╣реИ, рдФрд░ рдЕрдзрд┐рдХ рдЕрдЪреНрдЫреЗ (рдЕрддрд┐рд░рд┐рдХреНрдд рдПрдиреАрдореЗрд╢рди рдХреЗ рдХрд╛рд░рдг) рджрд┐рдЦрддрд╛ рд╣реИред
рддреЛ, рдореИрдВ рдпрд╣рд╛рдБ рдХреНрдпреЛрдВ рдлреИрд▓рд╛ рд╣реВрдБ? рдФрд░ рдлрд┐рд░
рдиреИрддрд┐рдХрддрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП:
рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ Pull To Refresh рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреНрд░рд┐рд╕ рдмреИрдиреНрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдЗрд╕ рд╕рдордп рдкреБрд▓ рдЯреВ рд░рд┐рдлреНрд░реЗрд╢ рдХрд╛ рдЙрдЪреНрдЪрддрдо рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред
PS рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдореБрдЭреЗ Habr├й рдкрд░ рдПрдХ
рд╕рдорд╛рди рд▓реЗрдЦ рдорд┐рд▓рд╛, рдЬреЛ рдЙрдкрд░реЛрдХреНрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рднреА рдЖрд▓реЛрдЪрдирд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░
Pull to Refresh рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдЕрдкрдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗ рд░рд╣рд╛ рдерд╛ред рд▓реЗрдХрд┐рди ... рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдЗрд╕ рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдореИрдВрдиреЗ рдмрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреНрд░реИрд╢ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛: рд╕реВрдЪреА рдореЗрдВ рдПрдХ рдирдпрд╛ рднрд╛рдЧ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдХрд░реНрд╕рд░ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВред рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдореЗрд░реЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдбреЗрдореЛ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ: рдЬреЛрд╣рд╛рди рд╕реЗ рдмреЗрд╣рддрд░ред