小编Ara*_*yan的帖子

如何以编程方式更改矢量pathData

我想将vectorDrawable添加到我的谷歌地图,我必须在用户触摸地图时更改矢量pathData值,有没有办法改变它?或者有没有办法以编程方式使用pathData创建向量?

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24.0"
    android:viewportHeight="24.0">


<path

    android:name="path1"
    android:fillColor="#FF000000"
    android:pathData="M9,2c-1.05,0 -2.05,0.16 -3,0.46 4.06,1.27 7,5.06 7,9.54 0,4.48 -2.94,8.27 -7,9.54 0.95,0.3 1.95,0.46 3,0.46 5.52,0 10,-4.48 10,-10S14.52,2 9,2z"/>
Run Code Online (Sandbox Code Playgroud)

java android vector android-vectordrawable

5
推荐指数
0
解决办法
308
查看次数

Android LiveData,ViewModel,无法添加具有不同生命周期的相同观察者

我是 Android 架构组件的新手,并尝试在我的 Activity 和 MyLifecycleService 中使用 LiveData,但有时应用程序会崩溃

IllegalArgumentException:无法添加具有不同生命周期的相同观察者

这是我的服务代码

 private final MutableLiveData<SocketStatus> socketStatusMutableLiveData = OrderRxRepository.Companion.getInstance().getMldSocketStatus(); 
 socketStatusMutableLiveData.observe(this, socketStatus -> {
        if (socketStatus == null) return;
        ...
    });
Run Code Online (Sandbox Code Playgroud)

对于我的活动,我有 ActivityViewModel 类,其中包含相同的实时数据,这里是代码

class MyActivityViewModel: ViewModel() {
val socketStatusMutableLiveData = OrderRxRepository.instance.mldSocketStatus
}
Run Code Online (Sandbox Code Playgroud)

以及我的活动中的代码

MyActivityViewModel viewModel = ViewModelProviders.of(this).get(MyActivityViewModel .class);
viewModel.getSocketStatusMutableLiveData().observe(this, socketStatus -> {
        if (socketStatus == null) return;
        ...
    });
Run Code Online (Sandbox Code Playgroud)

android viewmodel android-livedata

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