我试图在我的可扩展列表中选择时删除组,并在删除发生后@R_847_6419@.
我从谷歌获取源代码:
http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/ExpandableList1.html
我尝试了几种方法来删除它,但没有成功,任何人都已经实现了这一点?
谢谢,
射线.
解决方法:
回答第二个问题(向子和数据结构添加行)
对于数据结构:
public class GroupItem { private String mItemText; private List<ChildItem> mChildItems=new ArrayList<ChildItem>(); public GroupItem(String itemText) { mItemText=itemText; } public String getItemText() { return mItemText; } public ChildItem getChild(int childposition) { return mChildItems.get(childposition); } public voID addChild(ChildItem childItem) { return mChildItems.add(childItem) } public voID removeChild(int childposition) { return mChildItems.remove(childposition); }}public class ChildItem { private String mItemText; public ChildItem(itemText) { mItemText=itemText; } public String getItemText() { return mItemText; }}
现在设置它你会做类似的事情:
List<GroupItem> items = new ArrayList<GroupItem>();GroupItem item1 = new GroupItem("This is group 1");item1.addChild(new ChildItem("This is a child item of group 1"));item1.addChild(new ChildItem("This is another child item of group 1"));
等等…
然后,在适配器中,您需要返回适当的数据.
有关行的问题:
在您的Google示例中,他们返回TextVIEw.但是,您可以根据自己喜欢的内容制作自己的布局.例如:
<ImageVIEw androID:ID="@+ID/RowIcon" androID:layout_wIDth="56px" androID:layout_height="56px" androID:layout_marginleft="12px" androID:layout_margintop="2px"></ImageVIEw><TextVIEw androID:ID="@+ID/RowTextVIEw" androID:paddingleft="10px" androID:paddingtop="10px" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:textcolor="#666666" androID:textSize="14px"/></linearLayout>
然后在适配器中使用此布局.而不是返回,例如,TextVIEw,您只需将其作为视图返回:
public VIEw getChildVIEw(int groupposition, int childposition, boolean isLastChild, VIEw convertVIEw, VIEwGroup parent) {LayoutInflater mInflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);VIEw rowVIEw = mInflater.inflate(YOUR XML file FROM ABOVE, null); ImageVIEw rowIcon = (ImageVIEw)rowVIEw.findVIEwByID(R.ID.RowIcon); iconType.setBackgroundResource(AN IMAGE HERE); TextVIEw rowText =(TextVIEw)rowVIEw.findVIEwByID(R.ID.RowTextVIEw); textAddress.setText(items.get(groupposition).getChild(childposition)); return rowVIEw; }
所以,我认为应该让你去.
另外,如果他们满意,请接受我的答案.
干杯.
总结以上是内存溢出为你收集整理的android – 在可扩展列表中删除组全部内容,希望文章能够帮你解决android – 在可扩展列表中删除组所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)