package Ġcom . ly l . bo on . ui . image Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . support . v 4 . view . Pager Adapter Ċ import Ġandroid . support . v 4 . view . ViewPager Ċ import Ġandroid . support . v 7 . app . AlertDialog Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġcom . ly l . bo on . R Ċ import Ġcom . ly l . bo on . app . My App Ċ import Ġcom . ly l . bo on . utils . FileUtils Ċ import Ġcom . ly l . bo on . utils . Img Utils Ċ import Ġuk . co . sen ab . photo view . Photo View Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* ĠAuthor : Ġl yl Ċ Ġ* ĠDate ĠCreated Ġ: Ġ 2 0 1 8 / 2 / 1 0 . Ċ Ġ*/ Ċ class ĠImage Adapter ( internal Ġvar ĠmContext : ĠContext , Ġinternal Ġvar Ġimg s : ĠList < String > ?) Ġ: ĠP ager Adapter () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( imgs Ġ== Ġnull ) Ġ 0 Ġelse Ġimg s !!. size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis View From Object ( view : ĠView , Ġ` object `: ĠAny ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġview Ġ=== Ġ` object ` ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠéľĢè¦ģ ç§»éĻ¤ è¯¥ View ï¼Į éģ¿åħį View éĩįå¤į åĬłè½½ ãĢĤ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġdestroy Item ( container : ĠViewGroup , Ġposition : ĠInt , Ġ` object `: ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ( container Ġas ĠView Pager ). remove View (` object ` Ġas ĠView ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĬłè½½ View ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġinstantiate Item ( container : ĠViewGroup , Ġposition : ĠInt ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġimg Url Ġ= Ġimg s ! ![ position ] ĊĊĠĠĠĠĠĠĠ Ġval Ġphoto View Ġ= ĠPhoto View ( mContext ) ĊĠĠĠĠĠĠĠ Ġphoto View . adjust View Bounds Ġ= Ġtrue ĊĠĠĠĠĠĠĠ ĠImg Utils . load ( mContext , Ġimg Url , Ġphoto View ) ĊĠĠĠĠĠĠĠ Ġphoto View . setOn Long ClickListener ( View . On Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( TextUtils . isEmpty ( img Url )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( mContext . application Context , ĠR . string . img _ err , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ On Long ClickListener Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlertDialog . Builder ( mContext ). setTitle ( mContext . getString ( R . string . image _ save )) // ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( mContext . getString ( R . string . image _ save _ msg )) // ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button ( mContext . getString ( R . string . save )) Ġ{ Ġdialog , Ġwhich Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠImg Utils . download Img ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimg Url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: Img Utils . Download Image Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdownload Image ( img File : ĠFile ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( img File Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpath Ġ= ĠMy App . app Path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimg Name Ġ= Ġ" bo on _" Ġ+ ĠSystem . currentTimeMillis () Ġ+ Ġ". jpg " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Ġ= ĠFile ( path , Ġimg Name ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ ç§»åĬ¨ ä¸ĭè½½ çļĦ åĽ¾çīĩ åĪ° Ġ çĽ®æłĩ è·¯å¾Ħ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmove File Ġ= ĠFileUtils . move File ( img File . absolute Path , Ġfile . absolute Path ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( move File ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext . send Broadcast ( Intent ( Intent . ACTION _ MEDIA _ SCAN NER _ SCAN _ FILE , ĠUri . from File ( file ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( mContext . application Context , ĠR . string . save _ success , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( mContext . application Context , ĠR . string . save _ fail , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( mContext . application Context , ĠR . string . save _ fail , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}// ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( mContext . getString ( R . string . cancel ), Ġnull ). create (). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ( container Ġas ĠView Pager ). addView ( photo View ) ĊĠĠĠĠĠĠĠ Ġreturn Ġphoto View ĊĠĠĠ Ġ} Ċ Ċ } Ċ