title: How to Correctly Implement an ADD method for BaseAdapter - Android
body: <p>I have a custom BaseAdapter that creates a ListView of comments, usernames, and numbers. The issue is I don't know how to correctly implement the add method so I can update the BaseAdapter. Here is my Current BaseAdapter. My Add method is empty because I don't know where to start.</p>
  
  <pre><code>class CreateCommentLists extends BaseAdapter{
    Context ctx_invitation;
    String[] listComments;
    String[] listNumbers;
    String[] listUsernames;
  
    public CreateCommentLists(String[] comments, String[] usernames, String[] numbers, DashboardActivity context)
    {
      super();
      ctx_invitation = context;
      listComments = comments;
      listNumbers = usernames;
      listUsernames = numbers;
    }
  
    @Override
    public int getCount() {
      if(null == listComments)
      {
        return 0;
      }   
  
      // TODO Auto-generated method stub
      return listComments.length;
    }
  
    @Override
    public Object getItem(int position) {
      // TODO Auto-generated method stub
      return listComments[position];
    }
  
    @Override
    public long getItemId(int position) {
      // TODO Auto-generated method stub
      return 0;
    }
  
    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
      // TODO Auto-generated method stub
      View v = null;
      try
      {
        String inflater = Context.LAYOUT_INFLATER_SERVICE;
        LayoutInflater li = (LayoutInflater)ctx_invitation.getSystemService(inflater);
        v = li.inflate(R.layout.list_item, null);
  
        TextView commentView = (TextView)v.findViewById(R.id.listComment);
        TextView NumbersView = (TextView)v.findViewById(R.id.listNumber);
        TextView usernamesView = (TextView)v.findViewById(R.id.listPostedBy);
        Button usernameButton = (Button)v.findViewById(R.id.listUsernameButton);
        Button numberButton = (Button)v.findViewById(R.id.listNumberButton);
  
        commentView.setText(listComments[position]);
        NumbersView.setText(listNumbers[position]);
        usernamesView.setText(listUsernames[position]);
        usernameButton.setOnClickListener(new View.OnClickListener() {
  
          public void onClick(View view) {
            Intent i = new Intent(getApplicationContext(), ProfileActivity.class);
            i.putExtra("usernameOfProfile",listUsernames[position]);
            startActivity(i);
            finish();
          }
        });
  
        numberButton.setOnClickListener(new View.OnClickListener() {
  
          public void onClick(View arg0) {
            Intent i = new Intent(getApplicationContext(), ProfileActivity.class);
            i.putExtra("NumberProfile",listNumbers[position]);
            startActivity(i);
            finish();
          }
        });   
      }
      catch(Exception e)
      {
        e.printStackTrace();
      }
      return v;
    }
  
    public void add(String[] comments, String[] usernames,
                    String[] numbers) {
      listComments = comments;
      listNumbers = usernames;
      listUsernames = numbers;
    }
  
    public int getCount1() {
      if(null == listComments)
      {
        return 0;
      }   
  
      // TODO Auto-generated method stub
      return listComments.length;
    }
  
    public Object getItem1(int position) {
      // TODO Auto-generated method stub
      return listComments[position];
    }
  
    public long getItemId1(int position) {
      // TODO Auto-generated method stub
      return 0;
    }
  
    public View getView1(final int position, View convertView, ViewGroup parent) {
      // TODO Auto-generated method stub
      View v = null;
      try
      {
        String inflater = Context.LAYOUT_INFLATER_SERVICE;
        LayoutInflater li = (LayoutInflater)ctx_invitation.getSystemService(inflater);
        v = li.inflate(R.layout.list_item, null);
  
  
        TextView commentView = (TextView)v.findViewById(R.id.listComment);
        TextView NumbersView = (TextView)v.findViewById(R.id.listNumber);
        TextView usernamesView = (TextView)v.findViewById(R.id.listPostedBy);
        Button usernameButton = (Button)v.findViewById(R.id.listUsernameButton);
        Button numberButton = (Button)v.findViewById(R.id.listNumberButton);
  
        commentView.setText(listComments[position]);
        NumbersView.setText(listNumbers[position]);
        usernamesView.setText(listUsernames[position]);
  
        usernameButton.setOnClickListener(new View.OnClickListener() {
  
          public void onClick(View view) {
            Intent i = new Intent(getApplicationContext(), ProfileActivity.class);
            i.putExtra("usernameOfProfile",listUsernames[position]);
            startActivity(i);
            finish();
          }
        });
  
        numberButton.setOnClickListener(new View.OnClickListener() {
  
          public void onClick(View arg0) {
            Intent i = new Intent(getApplicationContext(), ProfileActivity.class);
            i.putExtra("NumberProfile",listNumbers[position]);
            startActivity(i);
            finish();
          }
        });
      }
      catch(Exception e)
      {
        e.printStackTrace();
      }
      return v;
    }
  }  
  </code></pre>
  
  <p>This is how I believe to call the add method.</p>
  
  <p>mycmlist.add(comments,usernames,numbers);
  mycmlist.notifyDataSetChanged();</p>