안녕하세요. 안드로이드를 공부하고 있는 초보 학생입니다.

제가 지금 연습하고 있는 부분은 리스트뷰 중에서 커스텀 항목 뷰 부분입니다.

제가 만든 리스트뷰의 항목 뷰는 [ 텍스트    버튼(인탠트)  버튼(삭제) ] 이런식으로 만들었습니다.

원하는 텍스트를 입력하여 추가하는 부분까지는 구현을 했는데 인탠트 버튼과 삭제 버튼을 어떻게 구현해야 할지 모르겠습니다.

어댑터 클래스 안에 명령 코드를 작성해야 되는 것 같은데 도저히 감이 잡히질 않습니다.

어댑터 클래스는 BaseAdapter를 상속받는데 인탠트를 하고 startActivity(intent)를 실행해야 되는데 제가 알기론 startActivity는 Activity를

상속받은 클래스에서만 사용할 수 있는 걸로 알고 있습니다. 어떻게 해야 startActivity를 사용할 수 있을까요?

그리고 삭제 버튼을 누르면 해당 항목이 삭제되게 구현할려고 하는데 어떻게 해야 될까요?

//   이 부분은 리스트뷰와 어댑터 그리고 원하는 텍스트를 입력받아 추가하는 코드입니다.    //
        arItem = new ArrayList<MyItem>();
       
        MyListAdapter MyAdapter = new MyListAdapter(this, R.layout.icontext, arItem);
        MyList=(ListView)findViewById(R.id.list);
        MyList.setAdapter(MyAdapter);
       
        newitem = (EditText)findViewById(R.id.newitem);
       
        add = (Button)findViewById(R.id.add);
        add.setOnClickListener(new Button.OnClickListener()
        {
         public void onClick(View v)
         {
          String text = newitem.getText().toString();
          if(text.length() != 0)
          {
           mi = new MyItem(text); arItem.add(mi);
           newitem.setText("");
          }
         }
        });

//   이 부분은 어댑터 클래스를 구현한 코드입니다.    //
class MyListAdapter extends BaseAdapter
{
 Context maincon;
 LayoutInflater Inflater;
 ArrayList<MyItem> arSrc;
 int layout;
 
 public MyListAdapter(Context context, int alayout, ArrayList<MyItem> aarSrc)
 {
  maincon = context;
  Inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  arSrc = aarSrc;
  layout = alayout;
 }
 
 public int getCount()
 {
  return arSrc.size();
 }
 
 public String getItem(int position)
 {
  return arSrc.get(position).Name;
 }
 
 public long getItemId(int position)
 {
  return position;
 }
 
 public View getView(int position, View convertView, ViewGroup parent)
 {
  final int pos = position;
  if(convertView == null)
  {
   convertView = Inflater.inflate(layout, parent, false);
  }
  
  TextView txt = (TextView)convertView.findViewById(R.id.text);
  txt.setText(arSrc.get(position).Name);
  
  Button btn = (Button)convertView.findViewById(R.id.btn);
  btn.setOnClickListener(new Button.OnClickListener()
  {
   public void onClick(View v)
   {
    String str = arSrc.get(pos).Name + "를 주문합니다.";
    Toast.makeText(maincon, str, Toast.LENGTH_SHORT).show();
   }
  });
  
  Button delete = (Button)convertView.findViewById(R.id.delete);
        delete.setOnClickListener(new Button.OnClickListener()
        {
         public void onClick(View v)
         {
          String str = arSrc.get(pos).Name + "를 삭제합니다.";
    Toast.makeText(maincon, str, Toast.LENGTH_SHORT).show();
          /*
          long id = getItemId();
          
          if(id != ListView.INVALID_POSITION)
          {
           arItem.remove(id);
           MyList.clearChoices();
          }
          */
         }
        });
  
  return convertView;
 }
}

btn 버튼이 인탠트를 하기 위한 버튼이고 delete 버튼이 삭제를 하기 위한 버튼입니다.

고수님들 답변 부탁드립니다.