小编Aur*_*tic的帖子

使用EditText显示密码

我使用EditText输入密码.还有一个CheckBox来显示密码.以下功能是部分:

public void ShowPassword() {
    if (cb.isChecked()) {
        password.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
    } else {
        password.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
    }
}
Run Code Online (Sandbox Code Playgroud)

检查时,显示密码.但是当它没有被检查时,它确实显示了星星.如何在未选中cb的情况下修改它以显示星标?

android android-edittext

28
推荐指数
4
解决办法
4万
查看次数

服务工作者在Android WebView上使用自签名证书

是否可以使用具有自签名证书的服务人员?

我知道可以在桌面上使用--unsafely-treat-insecure-origin-as-secure=开头的标志(/sf/answers/3043911951/).

但是我怎样才能在Android上实现这一目标WebView

我已经创建了一个自定义WebViewClient来跳过所有SSL错误:

@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
    handler.proceed();
}
Run Code Online (Sandbox Code Playgroud)

但这似乎没有帮助.

android certificate android-webview service-worker

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

使用OkHttp缓存POST请求

我用OkHttp向我的服务器发出一些POST请求.这很好用.现在我想使用OkHttp的缓存来缓存请求的响应,并在设备脱机时使用它们.我从其他问题尝试了很多解决方案,但没有一个能起作用.

我使用OkHttp 2.5.0

使用下面的代码,当设备可以访问互联网时,我会得到有效的响应.但是,如果我关闭互联网,它会抛出一个java.net.UnknownHostException:无法解析主机"example.com":没有与主机名关联的地址

这是我当前的代码,它不起作用:

用于重写缓存头的拦截器:

private final Interceptor mCacheControlInterceptor = new Interceptor() {
    @Override
    public Response intercept(Chain chain) throws IOException {
        Request request = chain.request();

        if (isOnline()) {
            request.newBuilder()
                    .header("Cache-Control", "public, only-if-cached, max-stale=7887")
                    .build();
        } else {
            request.newBuilder()
                    .header("Cache-Control", "public, max-stale=2419200")
                    .build();
        }

        Response response = chain.proceed(request);

        // Re-write response CC header to force use of cache
        return response.newBuilder()
                .header("Cache-Control", "public, max-age=86400") // 1 day
                .build();
    }
};
Run Code Online (Sandbox Code Playgroud)

获取客户端的方法:

private OkHttpClient getHttpClient() {
    if (mHttpClient == null) …
Run Code Online (Sandbox Code Playgroud)

android caching okhttp

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

将 selectableItemBackground 添​​加到 CardView

我想将CardView的前景设置为?attr/selectableItemBackground.

当我在 xml 中声明前景时它起作用:

android:foreground="?attr/selectableItemBackground"
Run Code Online (Sandbox Code Playgroud)

但我想以编程方式设置前景。这不起作用:

int[] attrs = new int[]{R.attr.color_a, R.attr.selectableItemBackground};
TypedArray ta = context.obtainStyledAttributes(attrs);
mColorA = ta.getColor(0, 0);
mSelectableItemBackground = ContextCompat.getDrawable(context, ta.getResourceId(1, 0));
ta.recycle();

...

cardView.setOnClickListener(onClickListener);
cardView.setClickable(true);
cardView.setForeground(mSelectableItemBackground);
Run Code Online (Sandbox Code Playgroud)

但是,检索属性有效(mSelectableItemBackground 包含一个RippleDrawable),但是当我按下卡片时前景不会改变。

android android-xml android-cardview

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