package com.android.ide.eclipse.adt.internal.editors.layout;
+import com.android.ide.common.rendering.api.AdapterBinding;
import com.android.ide.common.rendering.api.IProjectCallback;
import com.android.ide.common.rendering.api.LayoutLog;
import com.android.ide.common.rendering.api.ResourceReference;
return null;
}
+
+ public AdapterBinding getAdapterBinding(ResourceReference adapterView) {
+ return null;
+ }
}
import com.android.AndroidConstants;
import com.android.ide.common.rendering.LayoutLibrary;
+import com.android.ide.common.rendering.api.AdapterBinding;
import com.android.ide.common.rendering.api.ILayoutPullParser;
import com.android.ide.common.rendering.api.IProjectCallback;
import com.android.ide.common.rendering.api.RenderSession;
int fullPosition, int typePosition, ResourceReference viewRef, String viewClass) {
return null;
}
+
+ public AdapterBinding getAdapterBinding(ResourceReference adapterView) {
+ return null;
+ }
}
public void testApiDemos() throws IOException, XmlPullParserException {
--- /dev/null
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.ide.common.rendering.api;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Describe the content of the dynamic android.widget.Adapter used to fill
+ * android.widget.AdapterView
+ */
+public class AdapterBinding {
+
+ /**
+ * An AdapterItemReference. On top of being a {@link ResourceReference}, it contains how many
+ * items of this type the data binding should display.
+ */
+ public static class AdapterItemReference extends ResourceReference {
+ private final int mCount;
+
+ public AdapterItemReference(String name, boolean platformLayout, int count) {
+ super(name, platformLayout);
+ mCount = count;
+ }
+
+ public AdapterItemReference(String name, boolean platformLayout) {
+ this(name, platformLayout, 1);
+ }
+
+ public AdapterItemReference(String name) {
+ this(name, false /*platformLayout*/, 1);
+ }
+
+ public int getCount() {
+ return mCount;
+ }
+ }
+
+ private final int mRepeatCount;
+ private final List<ResourceReference> mHeaders = new ArrayList<ResourceReference>();
+ private final List<AdapterItemReference> mItems = new ArrayList<AdapterItemReference>();
+ private final List<ResourceReference> mFooters = new ArrayList<ResourceReference>();
+
+ public AdapterBinding(int repeatCount) {
+ mRepeatCount = repeatCount;
+ }
+
+ public int getRepeatCount() {
+ return mRepeatCount;
+ }
+
+ public void addHeader(ResourceReference layoutInfo) {
+ mHeaders.add(layoutInfo);
+ }
+
+ public int getHeaderCount() {
+ return mHeaders.size();
+ }
+
+ public ResourceReference getHeaderAt(int index) {
+ return mHeaders.get(index);
+ }
+
+ public void addItem(AdapterItemReference itemInfo) {
+ mItems.add(itemInfo);
+ }
+
+ public int getItemCount() {
+ return mItems.size();
+ }
+
+ public AdapterItemReference getItemAt(int index) {
+ return mItems.get(index);
+ }
+
+ public void addFooter(ResourceReference layoutInfo) {
+ mFooters.add(layoutInfo);
+ }
+
+ public int getFooterCount() {
+ return mFooters.size();
+ }
+
+ public ResourceReference getFooterAt(int index) {
+ return mFooters.get(index);
+ }
+}
String getAdapterItemValue(ResourceReference adapterView, ResourceReference itemRef,
int fullPosition, int typePosition,
ResourceReference viewRef, String viewClass);
+
+ /**
+ * Returns an adapter binding for a given adapter view.
+ * This is only called if {@link SessionParams} does not have an {@link AdapterBinding} for
+ * the given {@link ResourceReference} already.
+ *
+ * @param adapterView the adapter view to return the adapter binding for.
+ * @return an adapter binding for the given view or null if there's no data.
+ */
+ AdapterBinding getAdapterBinding(ResourceReference adapterView);
}
import com.android.resources.Density;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
/**
}
}
- /**
- * An AdapterItemReference. On top of being a {@link ResourceReference}, it contains how many
- * items of this type the data binding should display.
- */
- public static class AdapterItemReference extends ResourceReference {
- private final int mCount;
-
- public AdapterItemReference(String name, boolean platformLayout, int count) {
- super(name, platformLayout);
- mCount = count;
- }
-
- public AdapterItemReference(String name, boolean platformLayout) {
- this(name, platformLayout, 1);
- }
-
- public AdapterItemReference(String name) {
- this(name, false /*platformLayout*/, 1);
- }
-
- public int getCount() {
- return mCount;
- }
- }
-
- /**
- * Describe the content of the dynamic android.widget.Adapter used to fill
- * android.widget.AdapterView
- */
- public static class AdapterBinding {
- private final int mRepeatCount;
- private final List<ResourceReference> mHeaders = new ArrayList<ResourceReference>();
- private final List<AdapterItemReference> mItems = new ArrayList<AdapterItemReference>();
- private final List<ResourceReference> mFooters = new ArrayList<ResourceReference>();
-
- public AdapterBinding(int repeatCount) {
- mRepeatCount = repeatCount;
- }
-
- public int getRepeatCount() {
- return mRepeatCount;
- }
-
- public void addHeader(ResourceReference layoutInfo) {
- mHeaders.add(layoutInfo);
- }
-
- public int getHeaderCount() {
- return mHeaders.size();
- }
-
- public ResourceReference getHeaderAt(int index) {
- return mHeaders.get(index);
- }
-
- public void addItem(AdapterItemReference itemInfo) {
- mItems.add(itemInfo);
- }
-
- public int getItemCount() {
- return mItems.size();
- }
-
- public AdapterItemReference getItemAt(int index) {
- return mItems.get(index);
- }
-
- public void addFooter(ResourceReference layoutInfo) {
- mFooters.add(layoutInfo);
- }
-
- public int getFooterCount() {
- return mFooters.size();
- }
-
- public ResourceReference getFooterAt(int index) {
- return mFooters.get(index);
- }
- }
-
private final ILayoutPullParser mLayoutDescription;
private final RenderingMode mRenderingMode;
private boolean mLayoutOnly = false;