小编mol*_*kin的帖子

ExoPlayer缓存

我正在努力使用ExoPlayer通过http播放视频.我想在视频加载后保存视频并从缓存中播放.如何从缓存实现缓存和回放?可以给我任何样品.

android exoplayer

14
推荐指数
2
解决办法
4791
查看次数

如何在kotlin @Parcelize中使用null

这是非常简单的代码:

@Parcelize
data class Inner(val a: Int): Parcelable

@Parcelize
data class Test(val a: Int, val inner: Inner?): Parcelable

@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
    @Test
    fun testParcel() {
        val test = Test(0, null)

        val parcel = Parcel.obtain()
        parcel.writeParcelable(test, test.describeContents())
    }
}
Run Code Online (Sandbox Code Playgroud)

我有可空的财产Test.inner.如果它不为null,代码工作正常,但是当它为null时,我有例外:

java.lang.NullPointerException: Attempt to invoke interface method 'void android.os.Parcelable.writeToParcel(android.os.Parcel, int)' on a null object reference
Run Code Online (Sandbox Code Playgroud)

怎么解决这个?也许我做错了什么.

android parcelable kotlin kotlin-android-extensions

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

java.util.ConcurrentModificationException和SharedPreference

我在崩溃日志中发现了这个崩溃.我不知道它什么时候发生.有人能给我建议是什么原因吗?也许有人有同样的崩溃.

java.util.ConcurrentModificationException
       at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
       at java.util.HashMap$KeyIterator.next(HashMap.java:814)
       at com.android.internal.util.XmlUtils.writeSetXml(XmlUtils.java:350)
       at com.android.internal.util.XmlUtils.writeValueXml(XmlUtils.java:688)
       at com.android.internal.util.XmlUtils.writeMapXml(XmlUtils.java:295)
       at com.android.internal.util.XmlUtils.writeMapXml(XmlUtils.java:264)
       at com.android.internal.util.XmlUtils.writeMapXml(XmlUtils.java:230)
       at com.android.internal.util.XmlUtils.writeMapXml(XmlUtils.java:187)
       at android.app.SharedPreferencesImpl.writeToFile(SharedPreferencesImpl.java:597)
       at android.app.SharedPreferencesImpl.access$800(SharedPreferencesImpl.java:51)
       at android.app.SharedPreferencesImpl$2.run(SharedPreferencesImpl.java:512)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
       at java.lang.Thread.run(Thread.java:818)
Run Code Online (Sandbox Code Playgroud)

android sharedpreferences

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

只在构造函数中注入某些参数

我有主持人

class PhonePresenter @Inject constructor(
    private val preference: DataPreference,
    private val ioScheduler: Scheduler = Schedulers.io())
Run Code Online (Sandbox Code Playgroud)

ioScheduler是默认参数。我只想注射preference: DataPreference. 现在我有例外

[dagger.android.AndroidInjector.inject(T)] io.reactivex.Scheduler cannot be provided without an @Provides-annotated method.
Run Code Online (Sandbox Code Playgroud)

有什么方法可以定义我想在构造函数中注入的参数吗?

android kotlin dagger dagger-2

9
推荐指数
2
解决办法
2673
查看次数

扩展UILocalNotification

我是iOS的初学者.我尝试扩展UILocalNotification.我的课程如下.

@interface FSCustomNatification : UILocalNotification

typedef enum {
    FSCustomNatificationPay,
    FSCustomNatificationWrite,
    FSCustomNatificationSend
} NotificationTypeT;

@property (nonatomic, assign) NotificationTypeT typeNotificationT;


@end



#import "FSCustomNatification.h"

@implementation FSCustomNatification



@end
Run Code Online (Sandbox Code Playgroud)

当我设置typeNotificationT属性时,我得到 - [UIConcreteLocalNotification setTypeNotificationT:]:无法识别的选择器发送到实例0x8144780.为什么?

FSCustomNatification* localNotification = [[FSCustomNatification alloc] init];
localNotification.typeNotificationT = FSCustomNatificationWrite;
Run Code Online (Sandbox Code Playgroud)

objective-c ios

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

SwipeDismissBehavior 动画问题

我的问题是为什么当我拖动时CardView我看不到任何动画。在许多示例中,动画都存在。也许有人知道为什么当我从右到左滑动时我会看到从左到右的动画。

布局:

<android.support.design.widget.CoordinatorLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <android.support.v7.widget.CardView
            xmlns:card_view="http://schemas.android.com/apk/res-auto"
            android:id="@+id/swipe.card"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            card_view:cardCornerRadius="4dp"
            card_view:contentPadding="8dp"
            android:layout_margin="16dp"
            app:layout_anchorGravity="bottom">

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Card"
                android:lineSpacingExtra="6dp"/>

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="SWIPE THIS CARD"
                android:layout_gravity="bottom|right"
                android:textAllCaps="true"
                android:fontFamily="sans-serif-medium"/>

    </android.support.v7.widget.CardView>

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

活动:

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_swipe)
        val swipe = SwipeDismissBehavior<CardView>()
        swipe.setSwipeDirection(SwipeDismissBehavior.SWIPE_DIRECTION_ANY)

        val cardView = findViewById<View>(R.id.swipe_card) as CardView
        val coordinatorParams = cardView.layoutParams as CoordinatorLayout.LayoutParams
        coordinatorParams.behavior = swipe
    }
}
Run Code Online (Sandbox Code Playgroud)

支持库版本:

implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
Run Code Online (Sandbox Code Playgroud)

android android-layout android-coordinatorlayout

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

Android棒棒糖接触色

如何选择联系人徽章的颜色.使用什么算法?

在此输入图像描述

android android-5.0-lollipop

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