gpt4 book ai didi

java - 在方向改变时查看相同的缩略图

转载 作者:太空宇宙 更新时间:2023-11-04 10:11:49 24 4
gpt4 key购买 nike

我试图在方向更改后在此处获取位图图片以显示在 ImageView 中,而不是从可绘制文件夹中获取的图片。我知道savedInstance可以做到这一点,但不确定如何使用它。我也尝试过 onCofigureationChange(),但没有运气。

public class MainActivity extends AppCompatActivity {

static final int REQUEST_IMAGE_CAPTURE = 1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {

ImageView imageView = (ImageView)findViewById(R.id.imageView);

if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
imageView.setImageBitmap(imageBitmap);
}
}

public void taBilde(View view) {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
}

最佳答案

要保留生命周期更改中的数据,您可以使用 this link 中的 ViewModel .

更新

我用 kotlin 编写了这个解决方案的代码。你可以用java编写它。

import android.arch.lifecycle.LiveData
import android.arch.lifecycle.MutableLiveData
import android.arch.lifecycle.ViewModel
import android.graphics.Bitmap


/**
* Created by Amin on 9/6/2018.
*/
class ThumbnailHolderViewModel : ViewModel() {

private var thumbnail: MutableLiveData<Bitmap>? = null

fun setThumbnail(bitmap: Bitmap) {
if (thumbnail == null) {
thumbnail = MutableLiveData()
}
thumbnail?.value = bitmap
}

fun getThumbnail(): LiveData<Bitmap>? {
return thumbnail
}

}

在您的 Activity 中初始化 ViewModel:

val viewModel = ViewModelProviders.of(this).get(ThumbnailHolderViewModel::class.java)
viewModel.setThumbnail(yourThumbnailBitmap)

并从中获取保留的数据:

val viewModel = ViewModelProviders.of(this).get(ThumbnailHolderViewModel::class.java)
viewModel.getThumbnail()?.observe(this, Observer<Bitmap?> { bitmap ->
if (bitmap != null) {
// do sth...
}
})

关于java - 在方向改变时查看相同的缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52206240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com