小编cgr*_*cgr的帖子

使用XML将错误构建到build.gradle中的java对象转换器依赖项以进行改造

我正在尝试通过以下https://futurestud.io/blog/retrofit-how-to-integrate-xml-converter/将XML集成到Java对象转换器中进行改造

当我向build.gradle添加依赖项时,我遇到了构建错误.

这是我在build.gradle中添加的内容.compile('com.squareup.retrofit:converter-simplexml:1.9.0')

错误报告:

Information:Gradle tasks [:app:assembleDebug]
Warning:Dependency xpp3:xpp3:1.1.3.3 is ignored for debug as it may be conflicting with the internal version provided by Android.
In case of problem, please repackage it with jarjar to change the class packages
Warning:Dependency xpp3:xpp3:1.1.3.3 is ignored for release as it may be conflicting with the internal version provided by Android.
In case of problem, please repackage it with jarjar to change the class packages
Run Code Online (Sandbox Code Playgroud)

所以我试过这个

compile ('com.squareup.retrofit:converter-simplexml:1.9.0') {
exclude group: 'xpp3', …
Run Code Online (Sandbox Code Playgroud)

xml android retrofit

23
推荐指数
2
解决办法
6450
查看次数

如何使TextInputLayout中的错误消息出现在中心

目前它看起来像附加此布局:

<android.support.design.widget.TextInputLayout
    android:id="@+id/layoutCurrentPW"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    app:errorEnabled="true">
Run Code Online (Sandbox Code Playgroud)

如何设置错误信息"密码必须至少为8个字符"到中心引力?
我尝试使用android:gravity ="center",但这不起作用.

在此输入图像描述

编辑
包含EditText的布局:

<android.support.design.widget.TextInputLayout
    android:id="@+id/layoutCurrentPW"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    app:errorEnabled="true">

        <EditText
            android:id="@+id/editTextCurrentPassword"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:layout_marginLeft="50dp"
            android:layout_marginRight="50dp"
            android:gravity="center"
            android:hint="@string/current_password"
            android:inputType="textPassword"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/black" />
    </android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

android android-textinputlayout android-gravity

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

当retrofit.client.UrlConnectionClient用作客户端时,如何在改造中取消正在进行的请求?

在构建适配器时,我正在使用我的Android应用程序中的http调用和retrofit.client.UrlConnectionClient作为客户端进行改造.

RestAdapter.Builder builder = new RestAdapter.Builder()
            .setEndpoint(url)
            .setLogLevel(RestAdapter.LogLevel.FULL)
            .setClient(
                    new Client.Provider() {
                        public Client get() {
                            return new UrlConnectionClient() {
                                @Override
                                protected HttpURLConnection openConnection(Request request)
                                        throws IOException {
                                    HttpURLConnection connection = super.openConnection(request);
                                    connection.setConnectTimeout(connectionTimeout);
                                    return connection;
                                }
Run Code Online (Sandbox Code Playgroud)

我想设置超时,所以我使用UrlConnectionClient作为我的客户端.我找不到像OkHttp这样的其他客户的方式.

问题是:如何取消正在进行的请求?

我见过类似的帖子@ Using Square的Retrofit Client,是否可以取消正在进行的请求?如果是这样的话? 但是如果我尝试添加自己的执行程序并尝试使用它来取消请求,我的代码会变得非常复杂.我正在寻找现有代码是否有更好的方法.

我还看到Retorofit V2.0已计划重试和取消,但不确定何时会发布.. https://github.com/square/retrofit/issues/297

需要帮忙 !实际上我还需要一种方法来重试相同的代码.

android retrofit

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

在Android改造中集成Simple XML转换器时遇到的问题

在为Android改造中集成Simple XML转换器时,我遇到了一些问题.
1).在build.gradle中添加"compile('com.squareup.retrofit:converter-simplexml:1.9.0')"后,我收到了编译错误.

错误报告:信息:Gradle任务[:app:assembleDebug]警告:调试将忽略依赖关系xpp3:xpp3:1.1.3.3,因为它可能与Android提供的内部版本冲突.如果出现问题,请使用jarjar重新打包以更改类包警告:依赖xpp3:xpp3:1.1.3.3因发布而被忽略,因为它可能与Android提供的内部版本冲突.如果有问题,请用jarjar重新打包以更改类包

2).我通过提供根类名称在http://pojo.sodhanalibrary.com/Convert的帮助下创建了Java Schemas .我继续为一个或另一个元素获取InstantiateException或ElementException,并且mazorly retrofit.converter.ConversionException:org.simpleframework.xml.core.ValueRequiredException:无法满足@ org.simpleframework.xml.Element(data = false,name = description字段"description"上的,required = true,type = void).许多字段的错误相同.

integration android converter simple-framework retrofit

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

共享元素转换中的IllegalArgumentException

实现了活动共享元素转换的活动.它工作正常,但在极少数运行> = LOLLIPOP的设备上接收崩溃.

报告:

Fatal Exception: java.lang.IllegalArgumentException
       at android.os.Parcel.readException(Parcel.java:1550)
       at android.os.Parcel.readException(Parcel.java:1499)
       at android.app.ActivityManagerProxy.isTopOfTask(ActivityManagerNative.java:4654)
       at android.app.Activity.isTopOfTask(Activity.java:5557)
       at android.app.Activity.startActivityForResult(Activity.java:3903)
       at android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult(BaseFragmentActivityApi16.java:54)
       at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:65)
       at android.app.Activity.startActivity(Activity.java:4146)
       at com.mypackage.Activity1.method1(Activity1.java:414). 
Run Code Online (Sandbox Code Playgroud)

试过这个:

Intent intent = new Intent(Activity1.this, Activity2.class);
     ActivityOptionsCompat options = ActivityOptionsCompat.
                    makeSceneTransitionAnimation(Activity1.this,
                            logoImageView,
                            ViewCompat.getTransitionName(logoImageView));
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                startActivity(intent, options.toBundle());
            } else {
                startActivity(intent);
            }
            overridePendingTransition(R.anim.stay, R.anim.stay); 
Run Code Online (Sandbox Code Playgroud)

那么这个来自ActivityManagerProxy中的 sof IllegalArgumentException:

Intent intent = new Intent(Activity1.this, Activity2.class);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    ActivityOptions options = ActivityOptions
            .makeSceneTransitionAnimation(Activity1.this,
                    logoImageView,
                    getString(R.string.splashLogoSharedTransition));
    startActivity(intent, options.toBundle());
} else …
Run Code Online (Sandbox Code Playgroud)

animation android android-activity shared-element-transition

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

TextInputLayout和TextView之间的额外空间

我已经将TextInputLayout用于EditText,并且在它下面有一个TextView.我看到TextInputLayout和TextView之间有一个额外的空间.我想删除那个额外的空间.使用和不使用TextInputLayout附加的图片.我已经在开发者选项中启用了边界,因此pic可能看起来令人困惑但信息丰富.

以下是布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.design.widget.TextInputLayout
        android:id="@+id/layoutCurrentPW"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        app:errorEnabled="true">

        <EditText
            android:id="@+id/editTextCurrentPassword"
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:layout_marginLeft="50dp"
            android:layout_marginRight="50dp"
            android:layout_marginTop="30dp"
            android:background="@drawable/edit_text_border_drawable"
            android:gravity="center"
            android:hint="@string/current_password"
            android:layout_gravity="bottom"
            android:inputType="textPassword"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/black" />
    </android.support.design.widget.TextInputLayout>

    <TextView
        android:id="@+id/textForgotPassword"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:clickable="true"
        android:text="@string/forgot_password"
        android:textSize="17sp" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

没有textInputLayout

使用TextInputLayout

android textview android-textinputlayout

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