小编chr*_*rjs的帖子

数据绑定:在点击时通过 LiveData 变量调整可见性

我想ProgressBar根据MutableLiveData我的ViewModel. 我知道这MutableLiveData行不通,所以我需要一个LiveData变量来转换它......有点奇怪,但至少它应该可以正常工作吗?

好吧,它目前不起作用。我不明白为什么我想要两个变量做一件事。

我希望代码不言自明:

活动:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    val binding: ActivityLoginBinding = DataBindingUtil.setContentView(this, R.layout.activity_login)
    binding.lifecycleOwner = this
    binding.viewmodel = vm
}
Run Code Online (Sandbox Code Playgroud)

查看型号:

class LoginViewModel : ViewModel() {
    var isLoading: MutableLiveData<Boolean> = MutableLiveData(false)
    var showLoadingIndicator: LiveData<Boolean> = Transformations.map(isLoading) { isLoading.value }

    fun login() {
        Timber.d("login")
        isLoading.value = true
    }
}
Run Code Online (Sandbox Code Playgroud)

布局:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto">
    <data>
        <variable
                name="viewmodel"
                type="mypackage.LoginViewModel"/>
    </data>

    <androidx.constraintlayout.widget.ConstraintLayout>

        <com.google.android.material.button.MaterialButton        
                android:onClick="@{() -> viewmodel.login()}"/>

        <include …
Run Code Online (Sandbox Code Playgroud)

android android-databinding

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

RxJava2:Observable的替代<Void>

我有一个API,只返回错误/成功代码,没有正文.使用RxJava1,我将用作Observable<Void>此调用的返回值.

我可以为RxJava2使用什么?Wiki上对RxJava2(链接)的提示没有帮助,因为我无法更改API的工作方式.

建立:

compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
Run Code Online (Sandbox Code Playgroud)

android rx-android rx-java2

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

如何通过 AngularJs $http 将二进制文件放入 API

我想将二进制文件(图像)上传到接受application/octet-stream. 不幸的是,似乎 angular 想要改变我的请求,这显然不起作用并导致 TypeError: key.charAt is not a function

我的请求是这样的:

var f = document.getElementById('file_picker').files[0],
r = new FileReader();
r.onloadend = function(e){
    var fileData = e.target.result;
    $http({
        url: '.../upload/' + id,
        method: 'PUT', 
        headers: {'Authorization': 'Bearer asdf',
        'Content-Type': 'application/octet-stream'}, 
        data: new Uint8Array(fileData), 
        transformRequest: []
    })
})
r.readAsArrayBuffer(f);
Run Code Online (Sandbox Code Playgroud)

这是我通过 curl 的请求,它有效:

curl -i -X PUT -H "Authorization: Bearer asdf" -H "Content-Type: application/octet-stream" --data-binary @jpg.jpg https://.../upload/123
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢。

javascript ajax angularjs

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

ImageResizer:禁用调整大小的大小限制

我在Azure函数中使用ImageResizer(https://imageresizing.net/)库,它返回存储在Azure存储帐户中的已调整大小的图像.

到目前为止它的工作正常,但它有限制调整到最大3200像素.(https://imageresizing.net/docs/v4/plugins/sizelimiting)

由于我使用的是Azure功能,因此我无法访问web.config来禁用此限制.我可以通过代码(可能ResizeSettings)禁用此限制吗?

谢谢.

c# azure imageresizer azure-functions

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