Globale Variablen sind, wie der Name schon sagt, Variablen, die in der gesamten Klasse oder in mehreren Funktionen aufgerufen werden können. Auch externe Variablen genannt. Lokale Variablen sind Variablen, auf die innerhalb einer bestimmten Prozedur oder Funktion zugegriffen werden kann. Es ist sehr einfach, eine Variable zu deklarieren, aber ihre Verwendung ist nicht so einfach wie gedacht. Ich selbst definiere häufig globale Variablen zur Verwendung, aber genau aus diesem Grund definiere ich globale Variablen. Es hat auch viele Wendungen erspart.
Bei Verwendung von Adapter wird der Adapter normalerweise immer mit ListView verwendet, da eine ListView grundsätzlich ein ListView-Elementlayout hat. Das folgende Szenario ist: Dort Wenn ich auf ein bestimmtes Element klicke, muss ich die Hintergrundfarbe des Elements ändern oder es in ein anderes Hintergrundbild ändern Klicken Sie auf das erste Element. Sie werden feststellen, dass sich auch das Bild des dritten oder zweiten Elements geändert hat. Dies liegt daran, dass Sie eine globale Variable definieren. Der Codeteil lautet wie folgt:
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; } }
Im obigen Teil ist ImageView eine globale Variable. Zu diesem Zeitpunkt müssen wir ImageView als lokale Variable definieren,
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; } }
Zu diesem Zeitpunkt stellt es die ImageView in jedem Element dar. Eine andere Situation besteht darin, dass Sie beim Erstellen eines Warenkorbs auf das Plus- oder Minus-Symbol klicken können, um die Anzahl der Artikel im Warenkorb zu ändern. Wenn Sie die Mengennummer definieren, muss diese auch als lokale Variable definiert werden. Es wäre besser, wenn Sie ViewHolder verwenden könnten.