我有一个关于从listView中删除项目并在android中通知更改的查询
我必须在android中从listView中删除项目并通知其更改。我从StackOverflow获得了一些解决方案,但无法使其工作 这部分代码显示了我如何初始化列表视图和从DAO类调用函数我有一个关于从listView中删除项目并在android中通知更改的查询,android,listview,android-fragments,Android,Listview,Android Fragments,我必须在android中从listView中删除项目并通知其更改。我从StackOverflow获得了一些解决方案,但无法使其工作 这部分代码显示了我如何初始化列表视图和从DAO类调用函数 listvcard=(ListView) rootView.findViewById(R.id.listofvcard); DAO dao = new DAO(getActivity()); vcardadapter adapter = new vcardadapter
listvcard=(ListView) rootView.findViewById(R.id.listofvcard);
DAO dao = new DAO(getActivity());
vcardadapter adapter = new vcardadapter(getActivity(), dao.getUser());
listvcard.setAdapter(adapter);
return rootView;
}
private class vcardadapter extends BaseAdapter {
private Context context;
private List<VcardVO> listvcardVO;
private LayoutInflater inflater;
public vcardadapter(Context c, List<VcardVO> list) {
// TODO Auto-generated constructor stub
this.context = c;
this.listvcardVO = list;
inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
listvcard=(ListView)rootView.findViewById(R.id.listofvcard);
DAO=新DAO(getActivity());
vcardadapter=newvCardAdapter(getActivity(),dao.getUser());
listvcard.setAdapter(适配器);
返回rootView;
}
私有类vcardadapter扩展BaseAdapter{
私人语境;
私有列表listvcardVO;
私人充气机;
公共vcardadapter(上下文c,列表){
//TODO自动生成的构造函数存根
this.context=c;
this.listvcardVO=列表;
充气器=(LayoutInflater)getActivity().getSystemService(Context.LAYOUT\u充气器\u SERVICE);
}
============================================================================
这部分代码显示了如何使用ALertlayout从listView中删除项
h.delete.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
deletepopup();
}
private void deletepopup() {
// TODO Auto-generated method stub
AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
alert.setTitle("Delete this vCard?");
alert.setCancelable(false);
//alert.setIcon(R.drawable.vcardicon2);
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
alert.setPositiveButton("Delete", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
ArrayAdapter<String> myAdapter = (ArrayAdapter<String>)listvcard.getAdapter();
myAdapter.remove(myAdapter.getItem(position));
myAdapter.notifyDataSetChanged();
}
});
AlertDialog dialog = alert.create();
dialog.show();
}
});
h.delete.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
deletepopup();
}
私有void deletepopup(){
//TODO自动生成的方法存根
AlertDialog.Builder alert=新建AlertDialog.Builder(getActivity());
alert.setTitle(“删除此vCard?”);
警报。可设置可取消(错误);
//警报设置图标(R.drawable.vcardicon2);
alert.setNegativeButton(“取消”,新建DialogInterface.OnClickListener()){
@凌驾
public void onClick(DialogInterface dialog,int which){
//TODO自动生成的方法存根
}
});
alert.setPositiveButton(“删除”,新建DialogInterface.OnClickListener()){
@凌驾
public void onClick(DialogInterface dialog,int which){
//TODO自动生成的方法存根
ArrayAdapter myAdapter=(ArrayAdapter)listvcard.getAdapter();
移除(myAdapter.getItem(position));
myAdapter.notifyDataSetChanged();
}
});
AlertDialog=alert.create();
dialog.show();
}
});
“ArrayAdapter myAdapter=(ArrayAdapter)listvcard.getAdapter();”行中出现错误
它说“vcardadapter不能强制转换为arrayadapter”
请回复!!我正试图在3天内解决此问题。试试这个
在下面给出的适配器中添加从listview中删除项目的方法:
public removeItem(int position){
listvcardVO.remove(position);
notifyDataSetChanged();
}
并从“删除”按钮调用该方法,单击:
adapter.removeItem(postion);
我上面声明的“适配器”在删除按钮的onClickListener中不可访问。我创建了方法“removeItem”,如何全局声明它。如果我将声明为公共,它将显示“错误”。它告诉“移除无效修饰符”谢谢,先生,但我使用listcardVO.Remove(项)完成了此操作.但我还有一个问题,如何在listView inn android中从数据库中删除项目。先生,您能告诉我“如何在listView inn android中从数据库中删除项目”吗