我发现只有一个类似的问题而且对我没有帮助.我希望你能帮助我,因为我被困住了.
这是我的自定义适配器(仅限相关部分):
Myexpandablelistadapter:
public class Myexpandablelistadapter extends Baseexpandablelistadapter { //... @OverrIDe public VIEw getChildVIEw(int groupposition, int childposition, boolean isLastChild, VIEw vIEw, VIEwGroup parent) { ChildInfo childInfo = (ChildInfo) getChild(groupposition, childposition); if (vIEw == null) { LayoutInflater infalinflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); vIEw = infalinflater.inflate(R.layout.prisustva_detaljno_child_row, null); } button delete = (button) vIEw.findVIEwByID(R.ID.delete); delete.setonClickListener(new OnClickListener() { @OverrIDe public voID onClick(VIEw v) { relativeLayout Rl = (relativeLayout) v.getParent(); TextVIEw ID = (TextVIEw) Rl.findVIEwByID(R.ID.ID_prisustvo); PrisustvaAdapter deleteByID = new PrisustvaAdapter(context); deleteByID.openToWrite(); deleteByID.openToRead(); deleteByID.deleteID(ID .getText().toString()); deleteByID.close(); Toast.makeText(context, "Successfully deleted!", Toast.LENGTH_LONG).show(); } }); // ... return vIEw; }// ...}
就像你可以看到我在ExpandableListVIEw的每个子行中都有一个按钮.当我点击该按钮时,它会在我的数据库中触发删除过程,因为您还可以看到我必须从我的适配器中进行删除,因为只有在那里我可以为子行内的按钮创建click事件.我想知道当我从数据库中删除数据时如何刷新我的ExpandableListVIEw?我是否必须从适配器内部进行 *** 作?如果没有,有什么替代方案?
P.S:如果你们需要更多代码,请告诉我.
解决方法:
我不能确定没有看到你的其余代码(如何实例化你的BaseExpandableAdapter),但是在onClick()方法结束时调用notifyDatasetChanged()应该可以解决问题.
总结以上是内存溢出为你收集整理的android – 从我的适配器中刷新ExpandableListView全部内容,希望文章能够帮你解决android – 从我的适配器中刷新ExpandableListView所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)