小编Sta*_*tan的帖子

交换(左,上)和(右,下)点的TRect是什么意思?

我正在读一个三维派对德尔福源并坚持一行,其中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文档中,我找不到任何可能的目的.

delphi

4
推荐指数
2
解决办法
480
查看次数

为什么在应用自定义图标后,浏览器操作的默认图标会重新启用?

我在Chrome中使用浏览器操作图标时遇到了一个奇怪的问题.清单中定义了浏览器操作的默认图标.图标显示正确.然后在后台页面中,在某些情况下,我打电话给:

chrome.browserAction.setIcon({path:"green_32.png", tabId:request.tabId});
Run Code Online (Sandbox Code Playgroud)

此图标闪烁片刻,然后更改回默认图标.活动选项卡及其传递的ID setIcon在整个过程中保持不变.

有人可以提出一个想法,为什么会这样?

google-chrome-extension browser-action

4
推荐指数
1
解决办法
1836
查看次数

Android的所选项目选择器不起作用

我有一个列表视图,我想以自定义方式突出显示所选项目.我正在设置适配器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设置背景或利用可检查状态来编写解决方法,但我想了解并修复选择器的当前问题.提前致谢.

android listview css-selectors

4
推荐指数
1
解决办法
7619
查看次数

ProtectionLevel“签名”是否可以与 Android 调试键一起正常工作?

我有一个内容提供程序和一个测试应用程序,两者都使用调试密钥进行签名。如果未应用权限,客户端通常会收到内容,但我想对这些内容应用权限。因此,将以下行添加到内容提供者的清单文件中:

  <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,但它没有提供实际的解决方案。

permissions android android-contentprovider

3
推荐指数
1
解决办法
2497
查看次数

Chrome扩展程序中的Access-Control-Allow-Origin错误

我有一个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>),但没有人帮助解决问题.

所以,问题是这个特定网站可能出现什么问题(显然可能有其他网站有类似的不当行为,我想知道这个的性质),以及如何解决这个错误?

google-chrome same-origin-policy google-chrome-extension

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

Yii中Model/ActiveRecord的"加载后"事件

当从DB加载记录并且CActiveRecord用适当的数据填充模型对象(通常是后代)时,我找不到拦截事件的方法- 这是一种类似的东西onAfterSave.该文件列出了以下事件:onAfterConstruct,onAfterDelete,onAfterFind,onAfterSave, onAfterValidate,onBeforeDelete,onBeforeFind,onBeforeSave,onBeforeValidate,onUnsafeAttribute.

唯一可能相关的是onAfterConstruct,所以我在我的模型类中实现了事件处理程序CActiveRecord,但是它没有被调用.

更新:

除了接受的答案之外,我还发现有一种受保护的方法instantiate,其目的非常相同.可以重写它以访问新实例的属性.最重要的是,它在记录的任何实例化之后调用,不仅仅在之后find,因此它似乎更可靠.

yii

0
推荐指数
1
解决办法
4126
查看次数

将null值放入HashMap是不可能的

我正在写一个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).

这是为什么?什么可能是错的,如何解决?

java null android hashmap

-8
推荐指数
2
解决办法
2万
查看次数