2014-10-26 89 views
0

对于这个问题,我很抱歉,但我是Android开发人员的新成员。我在互联网上搜索,但我没有找到任何合适的答案。我有下面的代码在我的自定义适配器:删除自定义适配器中的listview项目

public class ItemsAdapter extends CursorAdapter { 

public ItemsAdapter(Context context, Cursor c) { 
    super(context, c, false); 

} 


@Override 
public void bindView(View view, Context arg1, Cursor cursor) { 
    ViewHolder viewHolder = (ViewHolder) view.getTag(); 
    viewHolder.title.setText(cursor.getString(cursor 
      .getColumnIndex("title"))); 
    viewHolder.publishDate.setText(cursor.getString(cursor.getColumnIndex("date_time"))); 
    viewHolder.rssNewsImage.setImageResource(R.drawable.rssnews); 

} 

@Override 
public View newView(Context arg0, Cursor arg1, ViewGroup arg2) { 
    View view = LayoutInflater.from(mContext).inflate(
      R.layout.listview_rssreaderactivity_row, arg2, false); 
    ViewHolder viewHolder = new ViewHolder(); 
    viewHolder.title = (TextView) view 
      .findViewById(R.id.tw_title_listview_row_main); 
    viewHolder.publishDate = (TextView) view.findViewById(R.id.tw_pubDate_listview_row_main); 
    viewHolder.rssNewsImage = (ImageView) view.findViewById(R.id.imageRssView); 
    view.setTag(viewHolder); 
    return view; 
} 
public class ViewHolder { 
    TextView title; 
    TextView publishDate; 
    ImageView rssNewsImage; 

} 
} 

我想在我的自定义适配器删除ListView项。这里是我点击事件的代码:

@Override 
public boolean onItemLongClick(AdapterView<?> parent, View view, 
     final int position, long id) { 
    AlertDialog.Builder itemLongClickdialog = new AlertDialog.Builder(
      RssNewsActivity.this); 
    itemLongClickdialog.setItems(R.array.array_longclick_item, 
      new OnClickListener() { 

       @Override 
       public void onClick(DialogInterface dialog, int which) { 
    } 
    }); 

我无法删除给定的项目。 如何解决这个问题?我会感谢所有的答案。

+0

我发现如何在我的ListView中删除项:我加入onItemClick方法如下代码:((SmartRSSApp)getApplication())getItemsDB()deleteNews(ID); \t \t \t \t \t getSupportLoaderManager()。restartLoader(LOADER_SHOW_NEWS_FEEDS,null,RssNewsActivity.this); – Ice97 2014-10-28 20:40:23

回答

0

试试这个:

DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int id) { 
    // User clicked OK button 
    ItemsAdapter dba = new ItemsAdapter (yourActivity); 
dba.open(); 
dba.remove(_id); 
Log.i("TAAG", "removed: "+_id); 
dba.close(); 
cursor.requery(); 
listview.getadaper().notifyDataSetChanged(); 
} 
}); 
+0

或从数据库中删除后重置适配器 – BackStabber 2014-10-27 17:08:09

相关问题