Apa yang perlu diimpor atau bagaimana saya dapat memanggil inflater Layout di tempat lain selain aktivitas?
public static void method(Context context){
//this doesn't work the getLayoutInflater method could not be found
LayoutInflater inflater = getLayoutInflater();
// this also doesn't work
LayoutInflater inflater = context.getLayoutInflater();
}
Saya hanya bisa menelepon getLayoutInflater
dalam aktivitas, apakah itu batasan? Bagaimana jika saya ingin membuat dialog khusus dan saya ingin mengembang tampilan untuk itu, atau bagaimana jika saya ingin memiliki pesan Toast dengan tampilan kustom yang ditampilkan dari layanan, saya hanya memiliki konteks dari layanan saya tidak memiliki aktivitas apa pun tapi saya ingin menampilkan pesan khusus.
Saya membutuhkan inflater di tempat-tempat dalam kode yang tidak ada di kelas aktivitas.
Bagaimana saya bisa melakukan ini?
getSystemService
karena beberapa (tidak mungkin) alasan tidak mengembalikan objek bertipeLayoutInflater
maka kode saya akan menyebabkan pengecualian runtime.Atau ...
sumber
atau
View.inflate(context, layout, parent)
sumber
Menggunakan objek konteks Anda bisa mendapatkan LayoutInflater dari kode berikut
sumber
sumber
Gunakan ini sebagai gantinya!
sumber