Tôi có hai Fragment mà tôi gộp bitmap giữa chúng.
trong FragmentA , tôi chọn Hình ảnh Từ Thư viện và Máy ảnh và đặt nó trong ImageView làBitmap
và tôi sẽ bó mà bitmapkhi tôi hướng đến HomeFragmrnt và làm cho nó và đặt nó trong ImageView trong HomeFrag như Bitmapmột lần nữa!
VẤN ĐỀ: Khi tôi rời FragmentA sang FragmentB và quay lại SettingFrag, tôi sẽ mất ImageView! và khi tôi rời khỏi FragmentB, tôi lại mất hình ảnh!
Tôi biết nó là cho Fragment Lifecyclevà tôi cố gắng sử dụng savedInstancenhưng không hiệu quả!
Tôi có ViewModellớp cho FragmentA và FragmentB ! làm thế nào tôi có thể xử lý vấn đề của tôi với nó ?!
nếu bạn muốn bất kỳ mã nào tôi sẽ đăng nó!
Cảm ơn bạn
Bạn có thể chia sẻ bất kỳ dữ liệu nào giữa các phân đoạn bằng ViewModel.
Trong trường hợp của bạn, hãy tạo một biến trong ViewModel theo cách sau:
var mBitmap: Bitmap? = null
và sau đó khi bạn nhận được bitmap, hãy gán bitmap đó cho biến trên từ đoạn của bạn
bitmap = BitmapFactory.decodeFile(mPhotoFile!!.absolutePath)
mViewModel.mBitmap = bitmap
sau đó, bất cứ nơi nào bạn muốn sử dụng bitmap này, chỉ cần gọi thế này:
mViewModel.mBitmap
ví dụ, một cái gì đó như thế này:
imageView.setImageBitmap(mViewModel.mBitmap)
Hy vọng điều này sẽ hữu ích, hãy cho tôi biết nếu bạn cần bất cứ điều gì
Cập nhật:
Giống như Ajeeli đã đề cập, vượt qua cá thể hoạt động trong khi khởi tạo ViewModel
ViewModelProvider(activity, viewModelFactory).get(SettingViewModel::class.java)
Vấn đề của bạn có thể là bạn đang xác định phạm vi ViewModel của mình đến phân đoạn chỉ khi nó được xác định phạm vi trong vòng đời hoạt động.
Thay đổi cai nay đi:
ViewModelProvider(this, viewModelFactory)
Đến:
ViewModelProvider(requireActivity(), viewModelFactory)
Tôi đã giải quyết được vấn đề tnx @parag Pawar
Tôi đã sử dụng SharedPrefrences! Chỉ nó thôi!
Tôi đặt File ảnh vào SharedPrefrencesvà lấy nó trong một Fragment khác! Hình ảnh đã được lưu và mọi thứ đều tốt!
lateinit var preferences: SharedPreferences
lateinit var editor: SharedPreferences.Editor
companion object {
const val PREF: String = "PREF_KEY"
const val IMG_KEY: String = "IMG_PATH"
}
preferences = activity!!.getSharedPreferences(PREF, Context.MODE_PRIVATE)
editor = preferences.edit()
editor.putString(IMG_KEY, data.data.toString())
editor.apply()
// ở đây bạn lấy giá trị
val sharedPreference: SharedPreferences = activity!!.getSharedPreferences(
PREF, Context.MODE_PRIVATE
)
if (sharedPreference.contains(IMG_KEY)) {
imgPath = sharedPreference.getString(
IMG_KEY,
null
).toString()
}
Jana Duggar đã cởi mở về việc tìm kiếm tình yêu của mình. Đây là tất cả những gì cô ấy nói về chủ đề này và khoảng thời gian 5 năm kết hôn của cô ấy.
Ngôi sao của 'Outlander' Sam Heu Afghanistan gần đây đã tiết lộ những gì anh ấy sẽ làm từ phim trường để tưởng nhớ Jamie Fraser, vai diễn đã đưa anh ấy trở thành một ngôi sao.
"She Loves You" được viết trong một giờ, thu âm trong một ngày và là bài hát của The Beatles với một trong những màn trình diễn xuất sắc nhất trong sự nghiệp của họ.
Dolly Parton và bà Bessie của cô ấy có một mối quan hệ đặc biệt. Bà Parton ốm nặng, nhưng điều đó không ngăn được Dolly chơi khăm bà.
Bạn có thể nghĩ rằng gỗ sồi hoặc gỗ hồ đào rất cứng, nhưng khi nói đến loại gỗ cứng nhất thế giới thì chúng thậm chí còn không có loại nào sánh bằng.
Đại dương tràn ngập vẻ đẹp, nhưng cũng ẩn chứa một số sinh vật biển đáng sợ nhất hành tinh. Nhiều loài trong số này ẩn núp sâu dưới bề mặt đại dương, trong thế giới tối tăm, áp suất cao của biển sâu.
Nếu bạn đang chiến đấu với quái vật hung hãn hoặc chuẩn bị cho các tình huống PvP, việc nắm rõ những phép thuật kiếm tốt nhất trong Minecraft có thể mang lại cho bạn lợi thế lớn. Phép thuật kiếm cho phép bạn gây nhiều sát thương hơn, tăng lượng quái vật rơi ra và kéo dài độ bền của kiếm.
Khi nói đến các nước xã hội chủ nghĩa, người ta thường hình dung ra sự kiểm soát hoàn toàn của chính phủ và không có sở hữu tư nhân. Nhưng trên thực tế, các nền kinh tế xã hội chủ nghĩa rất khác nhau.
“Những đứa trẻ” tung dàn khách mời tên tuổi và nhiều tin tức chấn động
Chiếc RAV4 này được khẳng định là ở tình trạng tuyệt vời và được chuẩn bị cho một trò chơi ghế âm nhạc.
Cảnh quay từ máy bay không người lái đã ghi lại cảnh lính cứu hỏa dường như đang cố gắng dập tắt ngọn lửa.
Eyes of Wakanda liên kết trực tiếp với MCU, cùng với các cập nhật về X-Men '97, What If..., Daredevil, v.v.
Marilyn Monroe đã mặc một chiếc váy trắng nổi tiếng trong bộ phim 'The Seven Year Itch'. Sau đây là mọi thông tin cần biết về chiếc váy và khoảnh khắc mang tính biểu tượng của Monroe trên song sắt tàu điện ngầm.
John Cleese kết hôn với vợ mình, Jennifer Wade, vào năm 2012. Sau đây là mọi thông tin cần biết về vợ của John Cleese, Jennifer Wade.
Patton Oswalt kết hôn với vợ mình, nữ diễn viên Meredith Salenger, vào năm 2017. Sau đây là mọi thông tin cần biết về vợ của Patton Oswalt, Meredith Salenger.
Michael C. Hall đã kết hôn với vợ Morgan Macgregor từ năm 2016. Dưới đây là tất cả những điều cần biết về vợ của Michael C. Hall.
Nó đập vào mắt tôi Đột ngột như nó thường xảy ra Nó lại ở giữa chừng <Không, không phải cái ở Thái Bình Dương đâu bạn màu hạt dẻ, cái ở lễ hội hóa trang> Mọi tiêu đề đều ầm ĩ…..
Vào năm 2022, với việc phát hành GPT-3, kỹ năng viết dường như trở nên ít quan trọng hơn. Với AI, những người viết kém cũng có thể tạo ra đội ngũ nhân viên chất lượng.
Trong thế giới có nhịp độ nhanh và cạnh tranh ngày nay, sự nghiệp của một người đóng một vai trò quan trọng trong sự phát triển cá nhân, ổn định tài chính và sự hài lòng trong cuộc sống nói chung. Tuy nhiên, nhiều cá nhân thấy mình bị mắc kẹt trong một chu kỳ trì trệ và không hài lòng không ngừng, dần dần lãng phí trong cuộc sống nghề nghiệp của họ.
Tuần trước, tôi nhận thấy một thông cáo báo chí, được gửi qua PressGazette (một trang web tin tức truyền thông của Anh). Bài báo thông báo rằng Acast, công ty quảng cáo và lưu trữ podcast của Scandi, sẽ lãnh đạo một tập đoàn gồm các nhà xuất bản “có lẽ là có ảnh hưởng nhất” trong lĩnh vực podcasting.