小编Dan*_*roz的帖子

Android导航架构组件可避免片段重新生成

我有以下流程,其中Fragment的内容中是带有各种输入字段的Form。

片段A->片段B->片段C->片段D ...

例如,当用户完全填充Frag C并移回Frag B时,所有Frag B数据都存储并保持不变,但是当移回C时,所有输入数据都将消失。想象同样的场景,用户填充了Frag A,B,并且他已经填充了Frag C字段的一半,当他导航回所有输入数据时,他选择返回Frag A,而先前的Frags(B和A),但是一旦他决定返回他所在的C,B和C中的数据就会丢失,并在每个新步骤中都将其替换为新的片段。因此,仅当返回时才保留输入数据(android后退按钮),当他打开之前曾去过的Fragment时,将创建一个新的Fragment,所有输入均为空白。

android android-fragments

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

使用RxJava转换HashMap值

是否有某种方式,通过'方式',我的意思是使用rx运算符,转换每个HashMap值(将hashmap键设置为值字段)并进入新的Hashmap或ArrList?

Observable<HashMap<String,Allergy>> observable = MyREST.getsAllergiesApi().getAllAllergiesRx();
    observable
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .unsubscribeOn(Schedulers.io())
            .subscribe(new Subscriber<HashMap<String, Allergy>>() {
                @Override
                public void onCompleted() {
                    Log.i(TAG,"onCompleted");
                }

                @Override
                public void onError(Throwable e) {
                    Log.i(TAG,"onError");
                }

                @Override
                public void onNext(HashMap<String, Allergy> allergies) {

                    mView.displayAllergies(allergies);
                    Log.i(TAG,"onNeXt");
                }
            });
Run Code Online (Sandbox Code Playgroud)

android subscriber observable rx-java rx-android

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

在URL参数上不更改密钥名称

我需要像改变样本一样调用Api进行改造:

http://api.paco.com/cversion_int&somekey&someotherkey&lastkey&user + input&some_base64

我不需要关键参数规范,只需要隐式值(即:&somekey = value&someotherkey = value)

我会在@Path上连接,但我对优雅有些怀疑.

api rest android json retrofit

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

Smart Lock 显示不是来自我的应用程序的帐户

我正在我的应用程序上实施谷歌智能锁,目前,我们只在应用程序端实施,一旦用户允许保存凭据,例如在重新安装时自动登录。但是,当我从 password.google.com 中删除密码时,或者当我在 Google 帐户没有为该应用程序存储凭据的设备上运行该应用程序时,库会显示一个对话框,建议其他网站和应用程序电子邮件。我需要禁用此行为,我只想建议凭据和电子邮件(如果它们属于我的应用程序)。

我正在使用以下代码请求凭据:

    private void requestCredentials() {
            CredentialRequest request = new CredentialRequest.Builder()
                   .setPasswordLoginSupported(true)
                   .setIdTokenRequested(true)
                   .build();
            mProgressSmartLock.show();
    credentialsClient.request(request).addOnCompleteListener(credentialsApiRequestCompleteListener());
    }
Run Code Online (Sandbox Code Playgroud)

和听众:

    public OnCompleteListener<CredentialRequestResponse> credentialsApiRequestCompleteListener(){
            return new OnCompleteListener<CredentialRequestResponse>() {
                @Override
                public void onComplete(@NonNull Task<CredentialRequestResponse> task) {
                // Successfully read the credential without any user interaction, this
                // means there was only a single credential and the user has auto
                // sign-in enabled.
                mProgressSmartLock.dismiss();
                if (task.isSuccessful()) {
                    processRetrievedCredential(task.getResult().getCredential());
                    return;
                }

                    // This is most likely the case where the user has …
Run Code Online (Sandbox Code Playgroud)

android google-play-services google-smartlockpasswords google-play-services-3.3.0 play-services-auth-base-license

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