我在更改对话框按钮的文本时遇到了一些麻烦.
我试着用:
setButton(int whichButton,
CharSequence text,
DialogInterface.OnClickListener listener)
Run Code Online (Sandbox Code Playgroud)
和
setButton(int whichButton, CharSequence text, Message msg)
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚要放什么作为第三个参数.我可以通过一个新的OnClickListener
,但我想使用回调DatePickerDialog.OnDateSetListener
.
我想,当我设置一个新Listener
的Button
中DateSetListener
不会NE叫了吗?
我使用TableViewer
两列.第一个应该包含文本,第二个应该包含取决于对象状态的图像.标签提供程序是一个扩展LabelProvider
和实现的自定义提供程序ITableLayoutProvider
.
如果未显示图像,则布局正确,第一列中的文本与左侧对齐.
但是当显示至少一个图像时,第一列中的文本在右侧和中间之间的某处对齐 - 看起来有点难看.
布局很简单:
availableDevicesList = new TableViewer(this, SWT.SINGLE | SWT.BORDER
| SWT.FULL_SELECTION);
availableDevicesList.setContentProvider(new ArrayContentProvider());
Table table = availableDevicesList.getTable();
TableLayout tableLayout = new TableLayout();
table.setLayout(tableLayout);
table.setLinesVisible(true);
tableLayout.addColumnData(new ColumnWeightData(3));
new TableColumn(table, SWT.LEFT);
tableLayout.addColumnData(new ColumnWeightData(1));
new TableColumn(table, SWT.RIGHT);
Run Code Online (Sandbox Code Playgroud)
是什么导致这个问题?
我有一个由多个 gradle 模块组成的应用程序:
App -- main app module with dependencies to all submodules
|
|-- API - library module
| |-- Constants for authority etc.
|
|-- DB-Impl - library module
| |-- ContentProvider for the data specified in API
|
|-- Extension - library module
| |-- Dependency on API and test-dependency on DB-Impl
Run Code Online (Sandbox Code Playgroud)
这在构建和部署主 apk 时工作正常。所有模块都在清单中使用相同的 sharedUserId,并且可以从 DB-Impl 访问提供程序。
然而,当我尝试为不同的模块运行仪器测试时,它变得复杂了。
例如:我运行 DB-Impl 测试,该模块单独安装在设备上。当我想部署主应用程序或尝试运行它的测试时,apk 安装失败,因为它还包含提供程序,引发INSTALL_FAILED_CONFLICTING_PROVIDER
错误。
扩展模块也是如此。它需要数据库,通常包含在主应用程序 apk 中。当简单地运行测试时,它们会因为没有安装提供程序而失败。所以我添加了androidTestCompile
对 DB-Impl 模块的依赖。现在这个测试 apk 还包括提供者定义,导致更多的错误。
我尝试在测试任务上添加任务依赖项,因此它会运行uninstallAll
,但是这只会卸载从中调用它的模块,因此我必须手动卸载可能随提供程序一起提供的每个模块。 …
android android-contentprovider android-testing android-gradle-plugin