2011-09-04 9 views
13

मुझे पता है कि यह पहले से ही से पहले कहा गया है, लेकिन अन्य प्रतिक्रियाओं में से कोई भी मुझे मदद की है, इसलिए मैं अपने आप को पूछना होगा ...टेबललेआउट से सभी पंक्तियां कैसे साफ़ करें?

मैं क्योंकि मैं चाहता हूँ एक TableLayout से मेरे सभी मौजूदा पंक्तियों का हटाया जाना कोशिश कर रहा हूँ उपयोगकर्ता गतिशील रूप से तालिका को अद्यतन करने में सक्षम होने के लिए। अन्य सुझावों को removeAllViews() का उपयोग करने की अनुशंसा की गई है, जो कि सभी बच्चे के विचारों को हटाना है, हालांकि यह उसी लाइनरलाउट में मेरी अन्य सारणी से पंक्तियों को हटा देता है (मेरे पास एकाधिक तालिकाओं वाला रैखिक लेआउट है)।

कोई सुझाव?

उत्तर

46

ऐसा लगता है कि आप पूरे LinearLayout पर removeAllViews() पर कॉल कर सकते हैं और विशेष TableLayout नहीं जिन्हें आप साफ़ करना चाहते हैं।

myLinearLayout.someTableView.removeAllViews()

+0

नहीं, मैं निश्चित रूप से मेरे TableLayout फोन कर रहा हूँ ... \t \t tl = (tableLayout) dialog.findViewById (R.id.afi_waist_table); \t \t tl.removeAllViews(); –

+0

और यहां मेरे लेआउट हैं: http://imagebin.org/171056 –

+0

मेरे कोड को थोड़ा सा बदल दिया और हटाए गए सभी दृश्य() काम करने में सक्षम था। –

10

आप प्रत्येक TableRow पर removeAllViews() कॉल करने की आवश्यकता: डबल आप जैसे कुछ बात की जांच

int count = table.getChildCount(); 
for (int i = 0; i < count; i++) { 
    View child = table.getChildAt(i); 
    if (child instanceof TableRow) ((ViewGroup) child).removeAllViews(); 
} 
+0

आपका सुझाव पंक्ति के सभी सबूत हटा देगा लेकिन पंक्ति स्वयं ही नहीं। तालिका लेआउट खाली पंक्तियों के साथ छोड़ा जाएगा। – SK9

+0

मुझे पता है, यही मैंने सोचा था कि मूल पोस्टर चाहता था। –