aboutsummaryrefslogtreecommitdiffstats
path: root/lint
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2012-10-10 07:49:47 -0700
committerTor Norbye <tnorbye@google.com>2012-10-10 07:52:06 -0700
commit1572d136fff518a0efd095748a73cabc2e7d4573 (patch)
tree6284d3bf47b67cf1d5f874b4cc3c58c166ff0894 /lint
parentb3d655f5f6d372c9066c2b89274266eb123a0ef1 (diff)
downloadsdk-1572d136fff518a0efd095748a73cabc2e7d4573.zip
sdk-1572d136fff518a0efd095748a73cabc2e7d4573.tar.gz
sdk-1572d136fff518a0efd095748a73cabc2e7d4573.tar.bz2
38325: onClick XML attribute with @string resource not recognised
Don't flag onClick handlers as missing when they are using resource name indirections. Also make the Go To Declaration hyperlink work for tools:context links to activities. Change-Id: Ie26cefd2cebef32e955e3031da707654f3dc7e06
Diffstat (limited to 'lint')
-rw-r--r--lint/libs/lint_checks/src/com/android/tools/lint/checks/OnClickDetector.java3
-rw-r--r--lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/data/res/layout/onclick.xml6
2 files changed, 8 insertions, 1 deletions
diff --git a/lint/libs/lint_checks/src/com/android/tools/lint/checks/OnClickDetector.java b/lint/libs/lint_checks/src/com/android/tools/lint/checks/OnClickDetector.java
index 04fdd9d..24dcf02 100644
--- a/lint/libs/lint_checks/src/com/android/tools/lint/checks/OnClickDetector.java
+++ b/lint/libs/lint_checks/src/com/android/tools/lint/checks/OnClickDetector.java
@@ -17,6 +17,7 @@
package com.android.tools.lint.checks;
import static com.android.SdkConstants.ATTR_ON_CLICK;
+import static com.android.SdkConstants.PREFIX_RESOURCE_REF;
import com.android.annotations.NonNull;
import com.android.tools.lint.client.api.LintDriver;
@@ -132,7 +133,7 @@ public class OnClickDetector extends LayoutDetector implements ClassScanner {
} else if (!value.equals(value.trim())) {
context.report(ISSUE, attribute, context.getLocation(attribute),
"There should be no whitespace around attribute values", null);
- } else {
+ } else if (!value.startsWith(PREFIX_RESOURCE_REF)) { // Not resolved
if (mNames == null) {
mNames = new HashMap<String, Location.Handle>();
}
diff --git a/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/data/res/layout/onclick.xml b/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/data/res/layout/onclick.xml
index d534027..882c035 100644
--- a/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/data/res/layout/onclick.xml
+++ b/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/data/res/layout/onclick.xml
@@ -70,4 +70,10 @@
android:onClick="wrong7"
android:text="Button" />
+ <Button
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:onClick="@string/ok"
+ android:text="Button" />
+
</LinearLayout>