小编fra*_*ran的帖子

退出转换前更新源活动

在此输入图像描述

我需要有关活动之间转换的帮助:

我有两个活动A和B,两个都有一个具有相同图像列表的ViewPager.每个页面都有与一个ImageView的transitionName等于image_x其中X是页面的索引.

A启动活动B调用ActivityOptionsCompat.makeSceneTransitionAnimation,输入转换完全正常.

问题如下:当我关闭活动B时,退出转换不会在B的相同位置初始化活动A的视图寻呼机.

当用户关闭B时,后者在结果中设置当前页面位置.在onActivityResult活动A中,我调用了setCurrentItem,并且行为显示在gif中.

有没有办法在退出转换开始之前更新活动A?

android android-animation android-viewpager android-transitions

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

有没有办法在SQLite中获取表的约束?

命令"pragma table_info('tablename')"列出列信息,"pragma foreign_key_list('tablename')"列出外键.如何显示表的其他约束(检查,唯一)?只解析表"sqlite_master"的字段"sql"?

sqlite constraints list pragma

15
推荐指数
2
解决办法
7310
查看次数

Glide preload不会保存在缓存中

我想在向用户展示之前预先加载图像.我有一个ViewPager,每个页面都是一个图像.活动开始时,它会调用:

Glide.with(this).load(uri).preload();
Run Code Online (Sandbox Code Playgroud)

之后所有图像都被预加载(理论上),为了测试预加载是否有效,我禁用所有网络连接,我尝试在页面之间进行交换以加载图像,但Glide不加载它们.

在我的项目中,Glide配置了默认值.

此外,如果我加载图像swyping viewpager(具有互联网连接),Glide将图像保存在缓存中.

我也尝试过使用

Glide.with(this).load(uri).downloadOnly(x,y);
Run Code Online (Sandbox Code Playgroud)

结果相同.

android caching preload android-glide

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

django-rest-framework ManyToManyField创建和更新

我是Django的新手,所以我遇到了一些问题.我正在使用django-rest-framework.这些是我的模型类:

class Product(models.Model):
    name = models.CharField(max_length=100)
    price = models.FloatField()
    sizes = models.ManyToManyField(Size)
    ...
class Size(models.Model):
    name = models.CharField(max_length=100)
    ...
Run Code Online (Sandbox Code Playgroud)

我想要一个产品序列化器和一个允许创建其大小的产品的视图集.

class ProductSerializer(serializers.ModelSerializer):
    sizes = SizeSerializer(many=True)

    class Meta:
        model = Product
        fields = ('id', 'name', 'price', 'sizes')
        read_only_fields = ('id',)
Run Code Online (Sandbox Code Playgroud)

上面编写的序列化程序允许获得具有其大小的产品,但我无法创建或更新产品的大小.

我怎样才能实现目标?

python django django-models manytomanyfield django-rest-framework

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

在NavigationView中滚动动画

我的活动NavigationView里面有一个DrawerLayout.

当用户点击NavigationView标题中的按钮时,我想滚动到顶部DrawerLayout/NavigationView带有动画.

看起来NavigationView和DrawerLayout没有提供获取实际滚动位置的方法(getScrollY()并且getScrollX()总是返回0),所以我不能这样做.

如何使用动画滚动到顶部?

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/drawer_layout"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:fitsSystemWindows="true">

     <!-- My content -->

     <android.support.design.widget.NavigationView
         android:id="@+id/navigation"
         android:layout_width="wrap_content"
         android:layout_height="match_parent"
         android:layout_gravity="start"
         app:headerLayout="@layout/navigation_view_header"
         app:menu="@menu/my_navigation_items" />
 </android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

android scroll android-animation drawerlayout android-navigationview

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

Android Lollipop在完成后调用onCreate()

这是Android Lollipop 5.0的一个奇怪的行为.我有两个活动,A和B. A启动活动B.当我点击后退按钮时,在活动B中,Android在A上调用onCreate方法.此行为仅在Lollipop 5.0中可观察到.在其他版本中,onCreate在完成另一个活动后从未被调用.

问题是什么?

这是我的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.example"
android:versionCode="1"
android:versionName="1" >

<uses-sdk
    android:minSdkVersion="9"
    android:targetSdkVersion="21" />

<application
    android:name=".Application"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppThemeMaterial" >
    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

    <activity
        android:name=".activities.ActivityA"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity
        android:name=".activities.ActivityB"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/activityB" >
    </activity>
</application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

android activity-lifecycle android-activity android-5.0-lollipop

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