Android中全局變量與局部變量的使用總結(jié)
全局變量顧名思義就是在整個(gè)的類中或者可在多個(gè)函數(shù)中調(diào)用的變量。也稱為外部變量。局部變量則是特定過程或函數(shù)中可以訪問的變量。聲明一個(gè)變量是很 容易的,但是講到使用的時(shí)候,卻不是想象的那樣簡單。至于本人則是經(jīng)常定義全局變量使用,但也就是因?yàn)檫@樣,定義的是全局變量。也饒了不少的彎子。
在使用Adapter即適配器的時(shí)候,通常適配器總是與listView使用,因?yàn)橐粋€(gè)listView 基本上都會(huì)有一個(gè)listView的Item的布局,下面的情景是:在每個(gè)Item里面都會(huì)有一個(gè)ImageView,當(dāng)我點(diǎn)擊某一條的時(shí)候,則需要為該 Item的ImageView換背景色或者換成別的背景圖片,這個(gè)時(shí)候可能會(huì)出現(xiàn)的一種情況是 你明明點(diǎn)的第一條,你會(huì)發(fā)現(xiàn)第三條或者第二條的圖片也變了。這就是因?yàn)槟愣x的是全局變量。代碼部分如下:
public class Adapter extends BaseAdapter {private ImageView img;public View getView(int position, View convertView, ViewGroup parent) {convertView = mInflater.inflate(R.layout.group_listview_item,null);img = (ImageView) convertView.findViewById(R.id.logo);return convertView;} }
上面的部分,ImageView就是一個(gè)全局變量。而這個(gè)時(shí)候,我們則需要把 ImageView定義為局部變量,
public class Adapter extends BaseAdapter { public View getView(int position, View convertView, ViewGroup parent) { convertView = mInflater.inflate(R.layout.group_listview_item,null); ImageView img = (ImageView) convertView.findViewById(R.id.logo); return convertView;} }
這個(gè)時(shí)候則表示每一個(gè)Item里的ImageView了。還有一種情況是在做購物車的時(shí)候,可以點(diǎn)擊加減的圖標(biāo)去改變購物車內(nèi)的商品數(shù)量。當(dāng)你定義數(shù)量 num 的時(shí)候,也必須定義為局部變量。如果會(huì)使用ViewHolder的話更好了。
相關(guān)文章:
1. python實(shí)現(xiàn)讀取類別頻數(shù)數(shù)據(jù)畫水平條形圖案例2. JSP動(dòng)態(tài)實(shí)現(xiàn)web網(wǎng)頁登陸和注冊(cè)功能3. python 如何停止一個(gè)死循環(huán)的線程4. 關(guān)于HTML5的img標(biāo)簽5. python 爬取嗶哩嗶哩up主信息和投稿視頻6. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫特效7. ASP.NET MVC前臺(tái)動(dòng)態(tài)添加文本框并在后臺(tái)使用FormCollection接收值8. php5.6不能擴(kuò)展redis.so的解決方法9. Java 基于UDP協(xié)議實(shí)現(xiàn)消息發(fā)送10. PHP獲取時(shí)間戳等相關(guān)函數(shù)匯總
