package Ġcom . wp . lint _ coding _ constraint _ jar . detector . element Ċ Ċ import Ġcom . android . Sdk Constants .* Ċ import Ġcom . android . tools . lint . detector . api .* Ċ import Ġorg . w 3 c . dom . Element Ċ Ċ /** Ċ Ġ* Ġ ä¸ĢäºĽ æİ§ä»¶ å¦Ĥæŀľ ä¸į è®¾ç½® åĢ¼ éĤ£ä¹Ī é¢Ħ è§Ī ä¸į åĩºæĿ¥ , eg : TextView , EditText Ċ Ġ* Ġ å¿ħé¡» ä½¿çĶ¨ tools : text Ġ|| Ġtools : hint æłĩçŃ¾ ä»¥ ä¾¿ äºİ é¢Ħ è§Ī Ċ Ġ* Ġcreate Ġby ĠWang Ping Ċ Ġ* Ġon Ġ 2 0 2 0 / 8 / 1 1 Ċ Ġ*/ Ċ class ĠNo Value Can Not Preview Element Detector Ġ: ĠDetector (), ĠDetector . Xml Scanner Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠISS UE Ġ= ĠIssue . create ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" No Value Can Not Preview Error ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbrief Description Ġ= Ġ" å¸ĥå±Ģ æĹłæ³ķ é¢Ħ è§Ī ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexplanation Ġ= Ġ" å¸ĥå±Ģ æĹłæ³ķ é¢Ħ è§Ī , è¯· æ·»åĬł å¯¹åºĶçļĦ tools å±ŀæĢ§ ä»¥ ä¾¿ äºİ é¢Ħ è§Ī ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategory Ġ= ĠCategory . SECURITY , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpriority Ġ= Ġ 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġseverity Ġ= ĠSeverity . ERROR , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation Ġ= ĠImplementation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNo Value Can Not Preview Element Detector :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠScope . RESOURCE _ FILE _ SCOPE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Applicable Elements (): ĠCollection < String >? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// è¿Ļ æ²¡ åĬŀ æ³ķ , æºĲçłģ éĩĮ ä¸į æĶ¯æĮģ åĲİ ç¼Ģ æī«æıı , éĤ£ å°± åıªæľī åħ¨ çĽĺ æī«æıı ĊĠĠĠĠĠĠĠ Ġ// ä¾ĭå¦Ĥ æĪĳ èĩªå®ļä¹ī äºĨ ä¸ª Demo TextView å°± æī«æıı ä¸į åĩºæĿ¥ , ä½ł è¦ģ æĺ¯ èĩªå®ļä¹ī çļĦ View ç»§æī¿ èĩª TextView ä½Ĩ ä¸į ä»¥ TextView ç»ĵ å°¾ éĤ£ æĪĳ æ²¡ åķ ¥ å¥½ è¯´ çļĦ äºĨ ĊĠĠĠĠĠĠĠ Ġreturn ĠXml Scanner Constants . ALL ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Element ( context : ĠXml Context , Ġelement : ĠElement ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement . nodeName . endsWith ( TEXT _ VIEW ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// TextView å¦Ĥæŀľ æ²¡æľī è®¾ç½® text éĤ£ä¹Ī é¢Ħ è§Ī ä¸į äºĨ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġandroid Text Attribute Ġ= Ġelement . getAttribute Node NS ( ANDROID _ URI , ĠATTR _ TEXT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtools Text Attribute Ġ= Ġelement . getAttribute Node NS ( TOOLS _ URI , ĠATTR _ TEXT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! tools Text Attribute ?. value . isNull OrEmpty () Ġ|| Ġ! android Text Attribute ?. value . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// android : text æĪĸèĢħ tools : text å±ŀæĢ§ åĢ¼ ä¸į ä¸ºç©º , éĤ£ä¹Ī èĥ½ é¢Ħ è§Ī ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . report ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠISS UE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getLocation ( element ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" TextView å¦Ĥæŀľ ä¸į è®¾ç½® android : text æĪĸèĢħ tools : text å±ŀæĢ§ , éĤ£ä¹Ī ä¸įèĥ½ é¢Ħ è§Ī , è¯· è®¾ç½® ãĢĤ " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ä»Ģä¹Ī æĥħåĨµ éĢīæĭ© android : text , ä»Ģä¹Ī æĥħåĨµ éĢīæĭ© tools : text è¯· äºĨè§£ å¥½ èĩª è¡Į éĢīæĭ© ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquick fix Data Ġ= ĠL int Fix . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( TOOLS _ URI , ĠATTR _ TEXT , Ġ" èĩª è¡Į è®¾ç½® ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement . nodeName . endsWith ( IMAGE _ VIEW ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġandroid Src Attribute Ġ= Ġelement . getAttribute Node NS ( ANDROID _ URI , ĠATTR _ SRC ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtools Src Attribute Ġ= Ġelement . getAttribute Node NS ( TOOLS _ URI , ĠATTR _ SRC ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! android Src Attribute ?. value . isNull OrEmpty () Ġ|| Ġ! tools Src Attribute ?. value . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// android : src æĪĸèĢħ tools : src å±ŀæĢ§ åĢ¼ ä¸į ä¸ºç©º , éĤ£ä¹Ī èĥ½ é¢Ħ è§Ī ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . report ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠISS UE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getLocation ( element ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" ImageView å¦Ĥæŀľ ä¸į è®¾ç½® android : src æĪĸèĢħ tools : src å±ŀæĢ§ , éĤ£ä¹Ī ä¸įèĥ½ é¢Ħ è§Ī , è¯· è®¾ç½® ãĢĤ " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ä»Ģä¹Ī æĥħåĨµ éĢīæĭ© android : src , ä»Ģä¹Ī æĥħåĨµ éĢīæĭ© tools : src è¯· äºĨè§£ å¥½ èĩª è¡Į éĢīæĭ© ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquick fix Data Ġ= ĠL int Fix . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( TOOLS _ URI , ĠATTR _ SRC , Ġ" èĩª è¡Į è®¾ç½® ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement . nodeName . endsWith ( EDIT _ TEXT ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġandroid Text Attribute Ġ= Ġelement . getAttribute Node NS ( ANDROID _ URI , ĠATTR _ TEXT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġandroid Hint Attribute Ġ= Ġelement . getAttribute Node NS ( ANDROID _ URI , ĠATTR _ HINT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtools Text Attribute Ġ= Ġelement . getAttribute Node NS ( TOOLS _ URI , ĠATTR _ TEXT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtools Hint Attribute Ġ= Ġelement . getAttribute Node NS ( TOOLS _ URI , ĠATTR _ HINT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarray ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Text Attribute , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Hint Attribute , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtools Text Attribute , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtools Hint Attribute ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! it ?. value . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ä½Ĩ åĩ ¡ è®¾ç½® äºĨä¸Ģä¸ª éĥ½ åı¯ä»¥ é¢Ħ è§Ī , å°± ä¸į æĬ¥éĶĻ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . report ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠISS UE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getLocation ( element ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" EditText å¦Ĥæŀľ ä¸į è®¾ç½® android : text Ġ|| Ġandroid : hint Ġ|| Ġtools : text Ġ|| Ġtools : hint å±ŀæĢ§ ," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" éĤ£ä¹Ī ä¸įèĥ½ é¢Ħ è§Ī , è¯· è®¾ç½® ãĢĤ ä¸Ĭ è¿° å±ŀæĢ§ è¯· èĩª è¡Į éĢīæĭ© è®¾ç½® ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquick fix Data Ġ= ĠL int Fix . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( TOOLS _ URI , ĠATTR _ TEXT , Ġ" èĩª è¡Į è®¾ç½® ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement . nodeName . endsWith (" RecyclerView ") Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġandroid ItemCount Attribute Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement . getAttribute Node NS ( ANDROID _ URI , ĠATTR _ ITEM _ COUNT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtools ItemCount Attribute Ġ= Ġelement . getAttribute Node NS ( TOOLS _ URI , ĠATTR _ ITEM _ COUNT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtools ListItem Attribute Ġ= Ġelement . getAttribute Node NS ( TOOLS _ URI , ĠATTR _ LIST ITEM ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( android ItemCount Attribute ?. value . isNull OrEmpty () Ġ&& Ġtools ItemCount Attribute ?. value . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// android : item Count æĪĸèĢħ tools : item Count å±ŀæĢ§ åĢ¼ ä¸ºç©º , éĤ£ä¹Ī é¢Ħ è§Ī æķĪæŀľ å¾Ī å·® ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . report ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠISS UE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getLocation ( element ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" RecyclerView å¦Ĥæŀľ ä¸į è®¾ç½® android : item Count æĪĸèĢħ tools : item Count å±ŀæĢ§ , éĤ£ä¹Ī æĿ¡ çĽ® é¢Ħ è§Ī å¾Ī å·® , è¯· è®¾ç½® ãĢĤ " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ä»Ģä¹Ī æĥħåĨµ éĢīæĭ© android : item Count , ä»Ģä¹Ī æĥħåĨµ éĢīæĭ© tools : item Count è¯· äºĨè§£ å¥½ èĩª è¡Į éĢīæĭ© ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquick fix Data Ġ= ĠL int Fix . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( TOOLS _ URI , ĠATTR _ ITEM _ COUNT , Ġ" 4 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tools ListItem Attribute ?. value . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// android : list Item æĪĸèĢħ tools : list Item å±ŀæĢ§ åĢ¼ ä¸ºç©º , éĤ£ä¹Ī é¢Ħ è§Ī æķĪæŀľ å¾Ī å·® ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . report ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠISS UE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getLocation ( element ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" RecyclerView å¦Ĥæŀľ ä¸į è®¾ç½® tools : list item å±ŀæĢ§ , éĤ£ä¹Ī æĿ¡ çĽ® é¢Ħ è§Ī å¾Ī å·® , è¯· è®¾ç½® ãĢĤ å¤ļ æĿ¡ çĽ® æķ°æį® ç±»åŀĭ å¦Ĥ ä¸į å¥½ è®¾ç½® åı¯ å¿½ çķ¥ , ä½Ĩ æľĢ å¥½ è®¾ç½® ä¸Ģä¸ª ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquick fix Data Ġ= ĠL int Fix . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( TOOLS _ URI , ĠATTR _ LIST ITEM , Ġ" èĩª è¡Į è®¾ç½® ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement . nodeName . endsWith ( PROGRESS _ BAR ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// åĪ¤æĸŃ æĺ¯åĲ¦ è®¾ç½® è¿Ľ åº¦ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġandroid Progress Attribute Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement . getAttribute Node NS ( ANDROID _ URI , ĠATTR _ PROGRESS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtools Progress Attribute Ġ= Ġelement . getAttribute Node NS ( TOOLS _ URI , ĠATTR _ PROGRESS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( android Progress Attribute ?. value . isNull OrEmpty () Ġ&& Ġtools Progress Attribute ?. value . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// android : progress æĪĸèĢħ tools : progress å±ŀæĢ§ åĢ¼ ä¸ºç©º , éĤ£ä¹Ī ä¸įèĥ½ é¢Ħ è§Ī ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . report ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠISS UE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getLocation ( element ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" ProgressBar å¦Ĥæŀľ ä¸į è®¾ç½® android : progress æĪĸèĢħ tools : progress å±ŀæĢ§ , éĤ£ä¹Ī è¿Ľ åº¦ æķĪæŀľ ä¸įèĥ½ é¢Ħ è§Ī , è¯· è®¾ç½® ãĢĤ " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ä»Ģä¹Ī æĥħåĨµ éĢīæĭ© android : progress , ä»Ģä¹Ī æĥħåĨµ éĢīæĭ© tools : progress è¯· äºĨè§£ å¥½ èĩª è¡Į éĢīæĭ© ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquick fix Data Ġ= ĠL int Fix . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( TOOLS _ URI , ĠATTR _ PROGRESS , Ġ" èĩª è¡Į è®¾ç½® ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// åĪ¤æĸŃ æĺ¯åĲ¦ è®¾ç½® è¿Ľ åº¦ æł·å¼ı ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġandroid Progress Drawable Attribute Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement . getAttribute Node NS ( ANDROID _ URI , ĠATTR _ PROGRESS _ DRAW ABLE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtools Progress Drawable Attribute Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement . getAttribute Node NS ( TOOLS _ URI , ĠATTR _ PROGRESS _ DRAW ABLE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( android Progress Drawable Attribute ?. value . isNull OrEmpty () Ġ&& Ġtools Progress Drawable Attribute ?. value . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// android : progress Drawable æĪĸèĢħ tools : progress Drawable å±ŀæĢ§ åĢ¼ ä¸ºç©º , éĤ£ä¹Ī ä¸įèĥ½ é¢Ħ è§Ī ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . report ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠISS UE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getLocation ( element ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" ProgressBar å¦Ĥæŀľ ä¸į è®¾ç½® android : progress Drawable æĪĸèĢħ tools : progress Drawable å±ŀæĢ§ , éĤ£ä¹Ī è¿Ľ åº¦ æĿ¡ æł·å¼ı ä¸įèĥ½ é¢Ħ è§Ī , è¯· è®¾ç½® ãĢĤ " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ä»Ģä¹Ī æĥħåĨµ éĢīæĭ© android : progress Drawable , ä»Ģä¹Ī æĥħåĨµ éĢīæĭ© tools : progress Drawable è¯· äºĨè§£ å¥½ èĩª è¡Į éĢīæĭ© ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquick fix Data Ġ= ĠL int Fix . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( TOOLS _ URI , ĠATTR _ PROGRESS _ DRAW ABLE , Ġ" èĩª è¡Į è®¾ç½® ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }