Android中全域性變數與區域性變數的使用總結
全域性變數顧名思義就是在整個的類中或者可在多個函式中呼叫的變數。也稱為外部變數。區域性變數則是特定過程或函式中可以訪問的變數。宣告一個變數是很 容易的,但是講到使用的時候,卻不是想象的那樣簡單。至於本人則是經常定義全域性變數使用,但也就是因為這樣,定義的是全域性變數。也饒了不少的彎子。
在使用Adapter即介面卡的時候,通常介面卡總是與listView使用,因為一個listView 基本上都會有一個listView的Item的佈局,下面的情景是:在每個Item裡面都會有一個ImageView,當我點選某一條的時候,則需要為該 Item的ImageView換背景色或者換成別的背景圖片,這個時候可能會出現的一種情況是 你明明點的第一條,你會發現第三條或者第二條的圖片也變了。這就是因為你定義的是全域性變數。程式碼部分如下:
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就是一個全域性變數。而這個時候,我們則需要把 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; } }
這個時候則表示每一個Item裡的ImageView了。還有一種情況是在做購物車的時候,可以點選加減的圖示去改變購物車內的商品數量。當你定義數量 num 的時候,也必須定義為區域性變數。如果會使用ViewHolder的話更好了。
相關文章
- 全域性變數與區域性變數變數
- Java區域性變數與全域性變數Java變數
- 【c】全域性變數與區域性變數變數
- Python中的全域性變數和區域性變數Python變數
- 區域性變數和全域性變數變數
- javascript中的作用域(全域性變數和區域性變數)JavaScript變數
- java 全域性變數和區域性變數Java變數
- jmeter全域性變數和區域性變數JMeter變數
- js-js的全域性變數和區域性變數JS變數
- JavaScript五:全域性變數&區域性變數;運算子JavaScript變數
- 成員變數、全域性變數、例項變數、類變數、靜態變數和區域性變數的區別變數
- 多執行緒中,區域性變數與全域性變數哪個比較安全?執行緒變數
- 區域性變數和全域性變數(靜態和非靜態)區別變數
- golang變數作用域問題-避免使用全域性變數Golang變數
- Python中類變數、成員變數、區域性變數的區別Python變數
- 十二、變數作用域:區域性變數、全域性變數,函式版名片管理系統—新增函式文件變數函式
- 函式之定義及全域性變數&區域性變數&風溼理論函式變數
- 全域性變數變數
- 成員變數和區域性變數變數
- 【Java貓說】例項變數與區域性變數Java變數
- 彙編眼中的函式呼叫引數傳遞以及全域性與區域性變數與“基址”函式變數
- javascript全域性變數的使用注意JavaScript變數
- less 全域性變數使用 引用變數
- 全域性 DOM 變數變數
- test函式中的區域性變數函式變數
- QT 全域性變數使用方法QT變數
- 全域性DOM變數的坑變數
- js宣告全域性變數JS變數
- 簡述SHELL全域性環境變數與局變環境變數變數
- vue定義全域性變數和全域性方法Vue變數
- PHP 超級全域性變數PHP變數
- 【SQL Server】常用全域性變數SQLServer變數
- JavaScript全域性作用域下,變數加var和不加var的區別。JavaScript變數
- Java中變數之區域性變數、本類成員變數、父類成員變數的訪問方法Java變數
- 變數的分類(臨時(本地)變數、環境變數、全域性變數和系統變數)變數
- 類,物件,成員變數和區域性變數,匿名物件物件變數
- Python定義全域性變數的用法Python變數
- Java 中將lambda 表示式體中的變數賦值給lambda體之外的一個區域性變數時,要求那個區域性變數是final 修飾的Java變數賦值
- mac配置全域性環境變數Mac變數