所以我使用了notifyDataSetChanged();但它说它无法解决.
下面是代码中不起作用的部分:
public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main_activity2); background2= (relativeLayout) findVIEwByID(R.ID.background); final ListVIEw theListVIEw = (ListVIEw) findVIEwByID(R.ID.ListVIEw); Intent calledActivity=getIntent(); final List pe=calledActivity.getExtras().getStringArrayList("Caller1"); String []s =new String[pe.size()]; for(int i=0;i<pe.size();i++) { s[i]=(String)pe.get(i); } final listadapter theadapter= new ArrayAdapter<String>(this,androID.R.layout.simple_List_item_1,pe); theListVIEw.setAdapter(theadapter); final int cnt=1; theListVIEw.setonItemClickListener(new AdapterVIEw.OnItemClickListener() { @OverrIDe public voID onItemClick(AdapterVIEw<?> parent,VIEw vIEw,int position,long ID) { String s1 = String.valueOf(parent.getItemAtposition(position)); pe.remove(s1); runOnUiThread(new Runnable() { public voID run() { theadapter.notifyDataSetChanged(); } }); } }); }解决方法 notifyDataSetChanged不是listadapter的方法,而是BaseAdapter的方法,(ArrayAdapter是BaseAdapter的子类).要解决此问题,您只需转换listadapter即可
theListVIEw.setonItemClickListener(new AdapterVIEw.OnItemClickListener() { @OverrIDe public voID onItemClick(AdapterVIEw<?> parent,long ID) { String s1 = String.valueOf(parent.getItemAtposition(position)); pe.remove(s1); ((BaseAdapter)theadapter).notifyDataSetChanged();总结
以上是内存溢出为你收集整理的错误:无法解析notifyDataSetChanged(); Android的全部内容,希望文章能够帮你解决错误:无法解析notifyDataSetChanged(); Android的所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)