Index: /trunk/autoquest-androidmonitor/src/de/ugoe/cs/autoquest/androidmonitor/Androidmonitor.java
===================================================================
--- /trunk/autoquest-androidmonitor/src/de/ugoe/cs/autoquest/androidmonitor/Androidmonitor.java	(revision 1744)
+++ /trunk/autoquest-androidmonitor/src/de/ugoe/cs/autoquest/androidmonitor/Androidmonitor.java	(revision 1745)
@@ -100,13 +100,33 @@
 	 * 
 	 * @param view
+	 *            to be monitored
 	 */
 	public void addLogListenerToView(View view) {
+		addLogListenerToView(view, 0);
+	}
+
+	/**
+	 * replace the listener of each view with a composite listener which
+	 * collects several listeners for one view.
+	 * 
+	 * @param view
+	 *            to be monitored
+	 * @param parentHash
+	 *            hash of the parent view element
+	 */
+	private void addLogListenerToView(View view, int parentHash) {
+
+		logFile.addComponent(view, parentHash, activityName);
+
+		// hash code of the actual view element. Problem in using
+		// view.getParent().hashCode() is described in
+		// de.ugoe.cs.autoquest.androidmonitor addComponent()
+		parentHash = view.hashCode();
 		// traverse all views of the activity
-		logFile.addComponent(view, activityName);
 		if (view instanceof ViewGroup) {
 			ViewGroup group = (ViewGroup) view;
 			for (int i = 0; i < group.getChildCount(); i++) {
 				View child = group.getChildAt(i);
-				addLogListenerToView(child);
+				addLogListenerToView(child, parentHash);
 			}
 		}
Index: /trunk/autoquest-androidmonitor/src/de/ugoe/cs/autoquest/androidmonitor/AndroidmonitorLogFile.java
===================================================================
--- /trunk/autoquest-androidmonitor/src/de/ugoe/cs/autoquest/androidmonitor/AndroidmonitorLogFile.java	(revision 1744)
+++ /trunk/autoquest-androidmonitor/src/de/ugoe/cs/autoquest/androidmonitor/AndroidmonitorLogFile.java	(revision 1745)
@@ -60,5 +60,5 @@
 
 			} else {
-				// tbd add activity information
+				// TODO add activity information
 			}
 		} catch (Exception e) {
@@ -133,5 +133,5 @@
 	}
 
-	public void addComponent(View view, String activityName) {
+	public void addComponent(View view, int parentHash, String activityName) {
 		XmlSerializer serializer = Xml.newSerializer();
 		StringWriter writer = new StringWriter();
@@ -152,5 +152,5 @@
 			serializer.attribute("", "name", "path");
 			serializer.attribute("", "value", activityName + "/"
-					+ getViewPath(view));
+					+ getViewPath(view) + view.getClass().getSimpleName());
 			serializer.endTag("", "param");
 
@@ -162,6 +162,11 @@
 			serializer.startTag("", "param");
 			serializer.attribute("", "name", "parent");
-			// serializer.attribute("", "value", "" +
-			// view.getParent().hashCode());
+			// Problem in using view.getParent().hashCode():
+			// http://developer.android.com/reference/android/view/View.html#getParent()
+			// tells: "... parent is a ViewParent and not necessarily a View."
+			// ViewParent does not have a method hashCode(). Solution is done
+			// add parentHash as parameter to method addComponent() and
+			// Androidmonitor-> addLogListenerToView.
+			serializer.attribute("", "value", "" + parentHash);
 			serializer.endTag("", "param");
 
