title: How to pop up a dialog to confirm delete when user long press on the list item?
body: <p>I am learning from a online tutorial, and i try to implement some function by my own.
  How can i pop up a dialog to alert user when detect a long press on  list item? Following is some code from that tutorial:</p>
  
  <pre><code>public class FriendList extends ListActivity 
  {
  
  
  private static final int ADD_NEW_FRIEND_ID = Menu.FIRST;
  
  private static final int EXIT_APP_ID = Menu.FIRST + 1;
  private IAppManager imService = null;
  private FriendListAdapter friendAdapter;
  
  public String ownusername = new String();
  
  private class FriendListAdapter extends BaseAdapter 
  {       
      class ViewHolder {
          TextView text;
          ImageView icon;
      }
      private LayoutInflater mInflater;
      private Bitmap mOnlineIcon;
      private Bitmap mOfflineIcon;        
  
      private FriendInfo[] friends = null;
  
  
      public FriendListAdapter(Context context) { // Constructor of Class "FriendListAdapter"
          super();            
  
          mInflater = LayoutInflater.from(context);
  
          mOnlineIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.greenstar);
          mOfflineIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.redstar);
  
      }
  
      public void setFriendList(FriendInfo[] friends)
      {
          this.friends = friends;
      }
  
  
      public int getCount() {  // get how many row are in the listview
  
          return friends.length;
      }
  
  
      public FriendInfo getItem(int position) { // get item from the row
  
          return friends[position];
      }
  
      public long getItemId(int position) {
  
          return 0;
      }
  
      public View getView(int position, View convertView, ViewGroup parent) { // For modify the content of row
          // A ViewHolder keeps references to children views to avoid unneccessary calls
          // to findViewById() on each row.
          ViewHolder holder;
  
          // When convertView is not null, we can reuse it directly, there is no need
          // to reinflate it. We only inflate a new View when the convertView supplied
          // by ListView is null.
          if (convertView == null) 
          {
              convertView = mInflater.inflate(R.layout.friend_list_screen, null);
  
              // Creates a ViewHolder and store references to the two children views
              // we want to bind data to.
              holder = new ViewHolder();
              holder.text = (TextView) convertView.findViewById(R.id.text);
              holder.icon = (ImageView) convertView.findViewById(R.id.icon);                                       
  
              convertView.setTag(holder);
          }   
          else {
              // Get the ViewHolder back to get fast access to the TextView
              // and the ImageView.
              holder = (ViewHolder) convertView.getTag();
          }
  
          // Bind the data efficiently with the holder.
          holder.text.setText(friends[position].userName);
          holder.icon.setImageBitmap(friends[position].status == STATUS.ONLINE ? mOnlineIcon : mOfflineIcon);
  
          return convertView;
      }
  
  }
  </code></pre>