@schwiz bagaimana kita mengatur ulang id tampilan dalam kasus ini Masalah saya adalah bahkan setelah aktivitas saya selesai setiap kali tampilan berikutnya ditambahkan, id tampilan bertambah. Saya ingin id tampilan menjadi default ke 1 ketika saya kembali ke aktivitas ini lagi .
AndroidNewBee
Terima kasih Lot untuk memberikan jawaban ini
hem
ViewGroup memperluas View mengimplementasikan ViewParent, ViewManager. lebih bagus untuk menyebutnya dengan casting ke (ViewGroup)
Mercury
24
Gunakan ViewStub dan tentukan tata letak tampilan yang ingin Anda alihkan. Untuk melihat:
Jika Anda ingin menyembunyikan / memperlihatkan Anda dapat menggunakan .setVisibility (View.INVISIBLE) dan .setVisibility (View.VISIBLE). Saat tampilan tidak terlihat, pengguna tidak dapat berinteraksi dengannya.
dennisschagt
Katakanlah saya memiliki textView dengan onClickListener yang terpasang padanya. Jika saya membuatnya menghilang dan kemudian saya ketuk, apakah acara masih akan menyala?
ahitt6345
22
Ini cara terbaik
LinearLayout lp =newLinearLayout(this);
lp.addView(newButton(this));
lp.addView(newImageButton(this));// Now remove them
lp.removeViewAt(0);// and so on
Jika Anda memiliki tata letak xml maka tidak perlu menambahkan panggilan dinamis.just saja
Apa perbedaan dalam hal kinerja? Maksud saya perbedaan kinerja menambahkannya secara dinamis atau menempatkannya ke dalam file tata letak xml statis dan membiarkannya meningkat?
stdout
19
Untuk menambahkan tampilan ke layout, Anda dapat menggunakan addViewmetode ViewGroupkelas. Sebagai contoh,
Itu memperbaiki masalah saya, lebih dari setiap jawaban lainnya. Berguna jika seperti saya, latar belakang Anda atau beberapa parameter mencegah tampilan menghilang sama sekali.
Virthuss
1
itu karena View.GONE tidak menghapus tampilan untuk tata letak, hanya membuatnya tidak terlihat, dan tidak mengambil ruang apa pun untuk tujuan tata letak.
Victor
6
Jawaban luar biasa dari Sameer dan Abel Terefe. Namun, saat Anda menghapus tampilan, dalam opsi saya, Anda ingin menghapus tampilan dengan id tertentu. Inilah cara Anda melakukannya.
hai jika Anda baru di android gunakan cara ini Terapkan tampilan Anda untuk membuatnya hilang Hilang adalah salah satu cara, jika tidak, dapatkan tampilan induk, dan hapus anak dari sana ..... lain dapatkan tata letak induk dan gunakan ini metode menghapus semua anak parentView.remove (anak)
Saya akan menyarankan menggunakan pendekatan GONE ...
Jawaban:
Saya telah melakukannya seperti ini:
sumber
(ViewGroup)
:)Gunakan ViewStub dan tentukan tata letak tampilan yang ingin Anda alihkan. Untuk melihat:
Menghilang:
sumber
Ini cara terbaik
Jika Anda memiliki tata letak xml maka tidak perlu menambahkan panggilan dinamis.just saja
sumber
Untuk menambahkan tampilan ke layout, Anda dapat menggunakan
addView
metodeViewGroup
kelas. Sebagai contoh,Ada juga sejumlah metode penghapusan. Periksa dokumentasi ViewGroup . Salah satu cara sederhana untuk menghapus tampilan dari tata letak bisa seperti,
sumber
Untuk mengubah visibilitas:
Untuk menghapus:
sumber
Jawaban luar biasa dari Sameer dan Abel Terefe. Namun, saat Anda menghapus tampilan, dalam opsi saya, Anda ingin menghapus tampilan dengan id tertentu. Inilah cara Anda melakukannya.
1, berikan tampilan id saat Anda membuatnya:
2, hapus tampilan dengan id:
sumber
Anda bisa menggunakan addView atau removeView
Jawa:
kotlin:
sumber
hai jika Anda baru di android gunakan cara ini Terapkan tampilan Anda untuk membuatnya hilang Hilang adalah salah satu cara, jika tidak, dapatkan tampilan induk, dan hapus anak dari sana ..... lain dapatkan tata letak induk dan gunakan ini metode menghapus semua anak parentView.remove (anak)
Saya akan menyarankan menggunakan pendekatan GONE ...
sumber
Saya menghapus tampilan menggunakan Metode mulai dan hitung, saya telah menambahkan 3 tampilan dalam Tata Letak linier.
view.removeViews (0, 3);
sumber
Solusi Ekstensi Kotlin yang Dapat Digunakan Kembali
Sederhanakan penghapusan
Tambahkan ekstensi ini:
Sederhanakan penambahan
Berikut beberapa opsinya:
sumber