我正在读一个三维派对德尔福源并坚持一行,其中Rect用另一个Rect的坐标初始化,但交换了,如下所示:
r, rsrc: TRect;
...
r := Rect(rsrc.right + 1, rsrc.bottom + 1, rsrc.left, rsrc.top);
Run Code Online (Sandbox Code Playgroud)
rsrc
填充了适当的屏幕坐标,因此(左,上)始终小于(右,下).
这是什么意思?在Delphi文档中,我找不到任何可能的目的.
我在Chrome中使用浏览器操作图标时遇到了一个奇怪的问题.清单中定义了浏览器操作的默认图标.图标显示正确.然后在后台页面中,在某些情况下,我打电话给:
chrome.browserAction.setIcon({path:"green_32.png", tabId:request.tabId});
Run Code Online (Sandbox Code Playgroud)
此图标闪烁片刻,然后更改回默认图标.活动选项卡及其传递的ID setIcon
在整个过程中保持不变.
有人可以提出一个想法,为什么会这样?
我有一个列表视图,我想以自定义方式突出显示所选项目.我正在设置适配器getView
方法中的每个项属性,包括itemView.setSelected(true)
.
主布局以下列方式定义listview:
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:choiceMode="multipleChoice"
android:listSelector="@drawable/list_selector" />
Run Code Online (Sandbox Code Playgroud)
(使用选择模式也无济于事).
该list_selector是一个几乎空存根:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@android:color/transparent" />
</selector>
Run Code Online (Sandbox Code Playgroud)
我不需要整体列表视图的特定样式,所以我留下一个默认样式,但根据这个答案,我们需要一个listview的选择器来使项目选择器工作.无论如何,没有list_selector问题仍然存在.
listview项目布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:background="@drawable/listitem_background"
android:orientation="vertical">
Run Code Online (Sandbox Code Playgroud)
它引用了以下listitem_background选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@android:color/white" />
<item android:drawable="@android:color/transparent" />
</selector>
Run Code Online (Sandbox Code Playgroud)
问题是,所选项目没有白色背景.
例如,如果我android:state_selected="true"
将listitem_background中的选择器更改为android:state_pressed="true"
,则选择器开始工作,即如果触摸了某个项目,则项目背景将变为白色.
所以,我想,选择器或我选择项目的方式都有错误.
我可以通过从Java设置背景或利用可检查状态来编写解决方法,但我想了解并修复选择器的当前问题.提前致谢.
我有一个内容提供程序和一个测试应用程序,两者都使用调试密钥进行签名。如果未应用权限,客户端通常会收到内容,但我想对这些内容应用权限。因此,将以下行添加到内容提供者的清单文件中:
<permission android:name="org.example.provider.READ"
android:permissionGroup="org.example.group.DATA_ACCESS"
android:label="@string/readonlyaccess"
android:protectionLevel="signature" />
<application
...
<provider android:name=".ImageContentProvider"
android:authorities="org.example.provider"
android:readPermission="org.example.provider.READ" />
Run Code Online (Sandbox Code Playgroud)
在客户端的清单文件中添加以下行:
<uses-permission android:name="org.example.provider.READ" />
Run Code Online (Sandbox Code Playgroud)
当我尝试从提供商获取数据时,出现错误:
09-13 22:38:20.995: E/AndroidRuntime(13979): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hello/com.example.hello.HelloActivity}: java.lang.SecurityException: Permission Denial: reading org.example.ImageContentProvider uri content://org.example.provider/file from pid=13979, uid=10040 requires org.example.provider.READ
Run Code Online (Sandbox Code Playgroud)
我是否遗漏了某些内容,或者与应用程序由调试密钥签名这一事实有关?如何解决问题?我也看到了添加到提供程序的建议uses-permission
,但这也没有帮助。注意。如果这有任何重要性,则会在模拟器内部进行检查。
我发现一个相关问题在使用默认调试密钥库签名时抛出 SecurityException,但它没有提供实际的解决方案。
我有一个chrome扩展程序,它以特殊方式监视浏览器,将一些数据发送到Web服务器.在当前配置中,这是localhost.所以内容脚本包含这样的代码:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(data)...
xhr.open('GET', url, true);
xhr.send();
Run Code Online (Sandbox Code Playgroud)
其中url参数是'http:// localhost/ctrl?params'(或http://127.0.0.1/ctrl?params - 没关系).
清单文件包含跨站点请求的所有必要权限.
扩展程序在大多数网站上运行正常,但在一个网站上我收到错误:
XMLHttpRequest cannot load http://localhost/ctrl?params. Origin http://www.thissite.com is not allowed by Access-Control-Allow-Origin.
我已经试过这是这里提出(一些权限*://*/*
,http://*/*
和<all_urls>
),但没有人帮助解决问题.
所以,问题是这个特定网站可能出现什么问题(显然可能有其他网站有类似的不当行为,我想知道这个的性质),以及如何解决这个错误?
当从DB加载记录并且CActiveRecord
用适当的数据填充模型对象(通常是后代)时,我找不到拦截事件的方法- 这是一种类似的东西onAfterSave
.该文件列出了以下事件:onAfterConstruct
,onAfterDelete
,onAfterFind
,onAfterSave
,
onAfterValidate
,onBeforeDelete
,onBeforeFind
,onBeforeSave
,onBeforeValidate
,onUnsafeAttribute
.
唯一可能相关的是onAfterConstruct
,所以我在我的模型类中实现了事件处理程序CActiveRecord
,但是它没有被调用.
更新:
除了接受的答案之外,我还发现有一种受保护的方法instantiate
,其目的非常相同.可以重写它以访问新实例的属性.最重要的是,它在记录的任何实例化之后调用,不仅仅在之后find
,因此它似乎更可靠.
我正在写一个Android应用程序并使用HashMap<String,MyClass>
.根据Java和Android文档,HashMap应该接受空键和值.但是,奇怪的是,我不能将null值放入我的地图中.在代码中:
myMap.put(1, null);
Run Code Online (Sandbox Code Playgroud)
我收到错误:
The method put(String, MyClass) in the type HashMap<String,MyClass> is not applicable for the arguments (int, null)
.
这是为什么?什么可能是错的,如何解决?