小编cha*_*och的帖子

如何在Android上测试内容提供商

我正在尝试使用我的数据库进行测试ProviderTestCase2<T>.我可以看到正在创建测试数据库.因此我认为,测试内容提供商应该使用测试数据库.但是一旦我尝试任何针对MockContentResolver(或创建的newResolverWithContentProviderFromSql)的调用,我得到一个UnsupportedOperationException.这是MockContentResolver记录的正常行为.因此,我对ProviderTestCase2的目的有点不确定.

您如何测试您的内容提供商?

谢谢

sqlite junit android android-contentprovider

11
推荐指数
3
解决办法
8836
查看次数

扩展Android活动的设计模式?

在Android上编程时,我最终编写了一个由其他几个人扩展的父活动.有点像ListActivity.我的父母活动延伸了Activity.如果我打算使用a Map或a List,我不能将我的父活动用作超类 - 子活动显然只能扩展一个活动.这样我结束了相同的逻辑写我的父母活动Activity,ListActivity,MapActivity等等.

我在寻找的是某种特性功能/设计模式,在这种情况下会有所帮助.有什么建议?

android design-patterns

5
推荐指数
1
解决办法
2398
查看次数

当给出fill_parent高度时,GridLayout会压低它的子节点并溢出

看起来GridLayout似乎总是将其子节点推送到符合其需求的布局.例如以下声明:

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:columnCount="3"
    android:orientation="vertical"
    android:rowCount="4"
    android:useDefaultMargins="true" >
...
    <ImageView
        android:id="@+id/main_image"
        android:layout_column="1"
        android:layout_columnSpan="2"
        android:layout_row="3"
        android:scaleType="fitStart" />
</GridLayout>
Run Code Online (Sandbox Code Playgroud)

GridLayout声明fill_parent,因此我希望它不会溢出.GridLayout应该采用父级的大小,在这种情况下是窗口(全高).但是在层次结构查看器中,GridLayout被设置为垂直和水平的Wrap_content.

因此,ImageView(这是一个大图像)或任何文本视图将被推动以适应自己,因此溢出容器.

这可以在容器网格视图适合父级的层次结构查看器中看到:

容器网格视图

而图像视图溢出

图像视图

阅读文档,我知道有必要设置引力.据我所知,我使用了各种重力选项和图像缩放选项,没有太大影响.删除边距useDefaultMargins="false"确实会改变布局溢出,从而导致问题朝向gridlayout.

我的问题如下:

  • 这是一个错误还是我错误地使用GridLayout
  • 如何强制GridLayout的子项适合其容器并填充剩余空间

android view grid-layout

5
推荐指数
1
解决办法
1603
查看次数