ListViewTestpublic class ListViewTest extends android.test.InstrumentationTestCase
Methods Summary |
---|
public void | testNoSelectableItems()The list view should handle the disappearance of the only selected item, even when that item
was selected before its disappearance.
MockContext context = new MockContext2();
ListView listView = new ListView(context);
// We use a header as the unselectable item to remain after the selectable one is removed.
listView.addHeaderView(new View(context), null, false);
List<String> items = Lists.newArrayList("hello");
Adapter<String> adapter = new Adapter<String>(context, 0, items);
listView.setAdapter(adapter);
listView.setSelection(1);
int measureSpec = View.MeasureSpec.makeMeasureSpec(100, View.MeasureSpec.EXACTLY);
adapter.notifyDataSetChanged();
listView.measure(measureSpec, measureSpec);
listView.layout(0, 0, 100, 100);
items.remove(0);
adapter.notifyDataSetChanged();
listView.measure(measureSpec, measureSpec);
listView.layout(0, 0, 100, 100);
| public void | testRequestLayout()If a view in a ListView requests a layout it should be remeasured.
MockContext context = new MockContext2();
ListView listView = new ListView(context);
List<String> items = Lists.newArrayList("hello");
Adapter<String> adapter = new Adapter<String>(context, 0, items);
listView.setAdapter(adapter);
int measureSpec = View.MeasureSpec.makeMeasureSpec(100, View.MeasureSpec.EXACTLY);
adapter.notifyDataSetChanged();
listView.measure(measureSpec, measureSpec);
listView.layout(0, 0, 100, 100);
MockView childView = (MockView) listView.getChildAt(0);
childView.requestLayout();
childView.onMeasureCalled = false;
listView.measure(measureSpec, measureSpec);
listView.layout(0, 0, 100, 100);
Assert.assertTrue(childView.onMeasureCalled);
|
|