小编Mat*_*inn的帖子

不要在缩写的句点中包装Android TextView中的文本

有没有办法控制TextView选择包装文本的位置?我遇到的问题是它想要在句点换行 - 所以像"在美国和加拿大可用"之类的字符串可以在U和S之间的时段之后换行.是否有办法告诉TextView不要除非有一个句​​号和一个空格,或者一些程序化的方法来控制包装,否则包装?

android word-wrap textview

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

重置身份验证器凭据

我们在实用程序类中有一个静态方法,它将从URL下载文件.已设置验证器,因此如果需要用户名和密码,则可以检索凭据.问题是,只要凭证有效,第一次成功连接的凭证就会用于后续的每个连接.这是一个问题,因为我们的代码是多用户的,并且由于没有为每个连接检查凭据,因此没有正确凭据的用户可能会下载文件.

这是我们正在使用的代码

private static URLAuthenticator auth;

public static File download(String url, String username, String password, File newFile)
{
    auth.set(username, password);
    Authenticator.setDefault(auth);
    URL fURL = new URL(url);
    OutputStream out = new BufferedOutputStream(new FileOutputStream(newFile));
    URLConnection conn = fURL.openConnection();
    InputStream in = conn.getInputStream();

    try
    {
        copyStream(in, out);
    }
    finally
    {
        if (in != null)
            in.close();
        if (out != null)
            out.close();
    }

    return newFile;
}

public class URLAuthenticator extends Authenticator
{
    private String username;
    private String password;

    public URLAuthenticator(String username, String password)
    {
         set(username, …
Run Code Online (Sandbox Code Playgroud)

java

7
推荐指数
2
解决办法
1万
查看次数

Kubernetes在initContainer和Container中使用相同的volumeMount

我正在尝试在我的容器之一中以非 root 用户身份安装一个卷。我正在尝试使用 initContainer 中的方法来设置正确的用户,但是当我尝试启动配置时,我收到“未绑定的立即 PersistedVolumneClaims”错误。我怀疑这是因为该卷安装在我的 initContainer 和容器中,但我不确定为什么会出现问题:我可以看到 initContainer 接受声明,但我本以为它退出时会释放它,让普通容器接受索赔。有什么想法或替代方案可以以非 root 用户身份安装目录吗?我确实尝试使用 securityContext/fsGroup,但这似乎没有效果。下面的 /var/rdf4j 目录是作为 root 挂载的目录。

配置:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: triplestore-data-storage-dir
  labels:
    type: local
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  storageClassName: local-storage
  volumeMode: Filesystem
  persistentVolumeReclaimPolicy: Delete
  hostPath:
    path: /run/desktop/mnt/host/d/workdir/k8s-data/triplestore
    type: DirectoryOrCreate
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: triplestore-data-storage
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  storageClassName: local-storage
  volumeName: "triplestore-data-storage-dir"
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: triplestore
  labels:
    app: demo
    role: …
Run Code Online (Sandbox Code Playgroud)

kubernetes

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

来自IE中的servlet的持久性cookie

我有一个从servlet生成的cookie,我希望它是持久的 - 也就是说,设置cookie,关闭IE,启动它,仍然能够读取cookie.我正在使用的代码如下:

HttpServletResponse response = 
    (HttpServletResponse) FacesContext.getCurrentInstance()
    .getExternalContext().getResponse();

Cookie cookie = new Cookie("someKey", "someValue");
cookie.setMaxAge(7 * 24 * 60 * 60);
response.addCookie(cookie);
Run Code Online (Sandbox Code Playgroud)

这在firefox中运行良好,但在IE 6/7中,cookie不会在浏览器重启之间保存.我已经检查了我在设置中可以想到的所有内容,但无法弄清楚导致cookie被删除的原因.据我所知,使用正数调用setMaxAge会使cookie持久化.任何想法为什么会出错?

编辑

我已经使用Olaf建议的更多信息技巧验证了cookie是否正在尝试设置为会话cookie,而不是持久性cookie; 最大年龄设置为"会话结束".所以似乎并没有为IE设置最大年龄 - 我已经验证在Firefox中,最大年龄设置正确.我仍然不知道发生了什么.

java cookies internet-explorer servlets

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

Objective C中的协议继承

我有一个项目,其中包含一个协议,一个实现该协议的类,以及一个实现类的子类.这是我们的生产应用程序.

@protocol ProductionProtocol<NSObject>
@property (nonatomic, retain) NSString *role;
@end

@interface BaseProduction : NSObject<ProductionProtocol>
NSString *role;
@end

@implementation BaseProduction
@synthesize role;
@end

@interface Production : BaseProduction
@end

@implementation Production
@end
Run Code Online (Sandbox Code Playgroud)

我还有一个概念验证(POC)应用程序,它是作为包含生产应用程序的单独项目实现的.在POC应用程序中,我有一个扩展生产协议的协议,以及一个扩展生产类的类.

@protocol POCProtocol<ProductionProtocol>
-(void)cancel;
@end

@interface POC : Production<POCProtocol>
@end

@implementation POC
-(void)cancel{...}
@end
Run Code Online (Sandbox Code Playgroud)

请注意,在ProductionProtocol中,我有一个角色NSString,它被声明并在BaseProduction接口/类中实现.在POC中,我有一个方法'取消',它在协议中声明,但不在接口/类中.

所以这是我的问题:我的类结构设置如下,我得到这个警告:

Property 'role' requires method '-role' to be defined - use @synthesize, @dynamic or provide a method implementation
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我会收到这个警告.由于合成属性在基类中,它们应该可用于POC类 - 并且快速测试似乎证实它们是.那么我在这里做错了什么?

protocols objective-c

6
推荐指数
1
解决办法
2万
查看次数

在JSF + Facelets中迭代HashMap.values()

我正在使用JSF/Facelets,我正在尝试迭代一些我保留在HashMap中的Document对象(自定义对象).加载页面时,我收到错误"类型java.util.HashMap $ Values"中找不到"属性'名称".这是我的支持bean中的内容:

private Map<String, Document> documents = new HashMap<String, Document>();

public Collection<Document> getDocuments(){
    return documents.values();
}
Run Code Online (Sandbox Code Playgroud)

在我的xhtml页面中:

<h:dataTable id="documentTable"
    value="#{DocumentManager.allDocuments}"
    var="doc" rowClasses="list-row-odd, list-row-even"
    headerClass="table-header" styleClass="bordered">

    <h:column id="col_name">
         <f:facet name="header">Name</f:facet>
         ${doc.name}
    </h:column>
</h:dataTable>
Run Code Online (Sandbox Code Playgroud)

如果我将getDocuments函数更改为以下,它可以工作(意味着表显示没有错误),但我不知道为什么我需要将值放在JSF/Facelets页面的列表中才能正确显示.

public List<Document> getDocuments(){
    List<Document> rtrn = new ArrayList<Document>();
    for(Document doc : documents.values())
        rtrn.add(doc);
    return rtrn;
}
Run Code Online (Sandbox Code Playgroud)

我不应该能够迭代收藏吗?

java datatable jsf

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

帮助GCC和ObjectiveC代码和Cygwin

是否可以在cygwin下使用GCC正确构建目标c代码.

我有以下应用程序应该在Mac环境中工作,但无法获得最基本的东西来使用gcc.我需要更多的库吗?

#import "HelloWorldApp.h"

int main(int argc, char *argv[]) {
    return 0;
} // End of the // 

@interface Car
{
    int test;
}

//The registration is a read-only field, set by copy
@property int (readonly, copy) test;

//the driver is a weak reference (no retain), and can be modified
//@property Person* (assign) driver;

@end


CC=gcc
CXX=gcc-g++
LD=$(CC)

CFLAGS=

LDFLAGS=-lobjc

all: HelloWorld

HelloWorld: HelloWorld.o
    $(LD) $(LDFLAGS) -o $@ $^

%.o: %.m
    $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@

clean:
    rm …
Run Code Online (Sandbox Code Playgroud)

windows winapi gcc cygwin objective-c

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

gdb输入/输出错误,远程调试到Android

我正在尝试调试一个调用本机代码来进行GL渲染的android应用。本机代码是我要移植的现有代码(我不太了解)。我已经正确地编译,链接和安装了现有代码,并且有一些本机函数可以从我的Java代码正确调用该代码。我遇到了要跟踪的段错误,让gdb在程序中设置断点时遇到了一些问题。这是在使用Cygwin的Windows XP上进行的-我可能应该提到我仍在学习gdb。

我从http://honeypod.blogspot.com/2008/01/debug-native-application-for-android.html的说明开始;这是我目前正在做的事情。

在模拟器中启动应用程序。

在cmd提示中:

> adb forward tcp:1234 tcp:1234
> adb shell
# gdbserver localhost:1234 --attach 2120
gdbserver localhost:1234 --attach 2120
Attached; pid = 2120
Listening on port 1234
Run Code Online (Sandbox Code Playgroud)

在cygwin外壳中:

arm-eabi-4.2.1/bin/arm-eabi-gdb.exe out/apps/app-android/libDM.so
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is …
Run Code Online (Sandbox Code Playgroud)

c++ android gdb android-ndk

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

例外情况"应用程序尝试以模态方式呈现活动控制器"仅在iOS 8中崩溃

UIPopoverController *popCtrl = [[UIPopoverController alloc] initWithContentViewController:self.rootViewController.navigationController];
popCtrl.delegate = self;
[popCtrl presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
Run Code Online (Sandbox Code Playgroud)

此代码位于按钮操作中,其中按钮是"发件人".

带有presentPopoverFromBarButtonItem的行会导致抛出异常,原因如下:Application tried to present modally an active controller DetailViewController: 0x15a54c00.在这种情况下,DetailViewController是"self",它只是popCtrl的委托,所以我看不出它是如何尝试以模态方式呈现的.它应该呈现rootViewController.navigationController.

正如您可能已经从名称中猜到的那样,rootViewController和detailViewController在SplitViewController中,但在尝试使用popover呈现rootViewController之前,它将从SplitViewController中删除.

这仅在使用iOS 8 SDK构建时在iOS 8上发生.它也不是100%可重复的.大多数情况下会发生此异常,但有时在我重新启动应用程序之后,在我重新运行应用程序之前它根本不会发生,然后它会一直开始发生.(我把它放在一个try/catch中,所以我知道每次运行可以发生多次.)

我几乎肯定这是SDK中的另一个iOS 8错误,但有没有人想出一个解决方法?

uikit ios ios8

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

PostMessage的字节数组编组

我正在尝试将一些C++代码移植到C#,我需要做的一件事就是PostMessage将一个字节数组传递给另一个进程的窗口.我正在尝试将源代码提供给另一个程序,以便我可以确切地看到它的期望,但与此同时,这是原始C++代码的样子:

unsigned long result[5] = {0};
//Put some data in the array
unsigned int res = result[0];
Text winName = "window name";
HWND hWnd = FindWindow(winName.getConstPtr(), NULL);
BOOL result = PostMessage(hWnd, WM_COMMAND, 10, res);
Run Code Online (Sandbox Code Playgroud)

这就是我现在拥有的:

[DllImport("User32.dll", SetLastError = true, EntryPoint = "FindWindow")]
public static extern IntPtr FindWindow(String lpClassName, String lpWindowName);

[DllImport("User32.dll", SetLastError = true, EntryPoint = "SendMessage")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, ref COPYDATASTRUCT lParam);

[StructLayout(LayoutKind.Sequential)]
public struct COPYDATASTRUCT
{
    public int dwData; …
Run Code Online (Sandbox Code Playgroud)

c# mfc

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