안녕하세요
아래와 같이 리스트 뷰를 만들었는데 아이템 선택이 안되네요...
해당 칸을 선택하면 전혀 반응이 없고 ClickListener 도 먹질 않는데 무슨 문제일까요...
답변 부탁드리구요
미리 감사드립니다.

public class Menu3 extends Activity {
    /** Called when the activity is first created. */
 // 내부 클래스를 담을 ArrayList
 ArrayList<MyItem> arItem;
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.number_list);

  arItem = new ArrayList<MyItem>();
  // 클래스의 객체를 선언하여
  MyItem mi;
  // 객체를 생성하여 arItem에 담음
  mi = new MyItem(R.drawable.country_simbol01, "값1");arItem.add(mi);
  mi = new MyItem(R.drawable.country_simbol02, "값");arItem.add(mi);
  mi = new MyItem(R.drawable.country_simbol03, "값");arItem.add(mi);

  // BaseAdpater를 상속받아 선언
  // 리스트 뷰에게 이 항목의 집합을 제공하는 클래스
  // 어댑터를 동작하려면 BaseAdapter로부터 상속받아
  // 기본 기능을 물려받은 후 요구하는 추상 메서드를 재정의 해야함.
  MyListAdapter MyAdapter = new MyListAdapter(this, R.layout.icontext, arItem);

  ListView MyList;
  MyList=(ListView)findViewById(R.id.list);
  MyList.setAdapter(MyAdapter);
 

 

  MyList.setOnItemClickListener(new OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
    long arg3) {
   // TODO Auto-generated method stub    
     Intent intent = getIntent(); //자신을 호출했던 인텐트 객체를 불러온다. 
    //intent.putExtra("country_time_value", data[1]);
     Toast.makeText(Menu3.this, "test", Toast.LENGTH_LONG).show();
    setResult(RESULT_OK, intent); //호출당한 액티비티가 정상적으로 끝났다는 결과를 저장한다.
      finish();
  }
 }); 
 }


//리스트 뷰에 출력할 항목
class MyItem {
 MyItem(int aIcon, String aName) {
  Icon = aIcon;
  Name = aName;
 }
 int Icon;
 String Name;
}

//어댑터 클래스
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;
 }

 // 항목 하나를 출력하기 위한 뷰
 // 각 항목의 뷰 생성
 // position -> 생성할 항목의 순서값
 // parent -> 생성되는 뷰의 부모
 // convertView -> 이전에 생성된 차일드 뷰
 public View getView(int position, View convertView, ViewGroup parent) {
  final int pos = position;
  if (convertView == null) {
   convertView = Inflater.inflate(layout, parent, false);
  }
  ImageView img = (ImageView)convertView.findViewById(R.id.img);
  img.setImageResource(arSrc.get(position).Icon);

  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();
   }
  });

 

 
 
  return convertView;
 }
}