Eine Sache, die in den anderen Antworten fehlt, ist der Kontextteil einer Klasse, der mit jeder Klasse verwendet werden kann, die Kontext erweitert.
tools:context ist ein Attribut, das in Android Studio und dem Android Gradle Plugin eingeführt wurde. Es wird in Layout-Dateien verwendet, um den Kontext anzugeben, in dem das Layout verwendet wird.
Der tools-Namensraum wird verwendet, um Attribute zu spezifizieren, die nicht zur Laufzeit verwendet werden, sondern vom Android Studio Layout-Editor und anderen Tools genutzt werden, um Ihnen mehr Kontrolle darüber zu geben, wie Ihre Layouts gerendert werden. Mit dem Attribut tools:context können Sie den vollqualifizierten Namen der Java-Klasse angeben, die den Kontext für das Layout darstellt. Dies wird vom Layout-Editor verwendet, um zu bestimmen, welches Thema und welche Attribute auf das Layout angewendet werden sollen, wenn es im Editor gerendert wird.
Es sieht sich das Paket der Anwendung im Manifest an. Es wird verwendet, um den genauen Pfad zur Aktivität, die dort geschrieben ist, zu kennen.
Das tools:context-Attribut kann mit jeder Klasse verwendet werden, die Context erweitert, z. B. eine Aktivität, ein Dienst oder eine Anwendung. Es wird jedoch am häufigsten mit Activity-Klassen verwendet, da sie der Haupteinstiegspunkt für die meisten Anwendungen sind.
Das Attribut context ist nicht nur auf Aktivitäten beschränkt, sondern kann für jede Java-Klasse verwendet werden, die context erweitert. Es kann für jede kontextbasierte Klasse verwendet werden, z. B. in ListView-Elementen, aber es wird hauptsächlich in Activities verwendet.