탭호스트내에서 그리드뷰 사용시

아이템클릭 이벤트가 발생하지가않습니다

한번살펴봐주시면 감사하겠습니다


소스 첨부파일로동봉


package com.my.testgrid;

import java.util.ArrayList;


import android.app.Activity;
import android.app.TabActivity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.graphics.Color;
import android.graphics.drawable.Drawable;

import android.media.MediaRecorder;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TabHost;
import android.widget.TableRow;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.TabHost.TabSpec;
import android.widget.TableLayout;
import android.widget.TextView;
import android.widget.Toast;

class IconListData {
    public int resId;
    public String name;
   
    public IconListData(int resId, String name) {
        this.resId = resId;
        this.name = name;
    }
   
}

public class TestTabGrid extends TabActivity {
    /** Called when the activity is first created. */
    private ArrayList<IconListData> mNetList;
    private ArrayList<IconListData> mToolList;
    private TabHost cTabHost;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        cTabHost = getTabHost();
       
        LayoutInflater.from(this).inflate(R.layout.main, cTabHost.getTabContentView(), true);

        Drawable img = getResources().getDrawable(R.drawable.star);
       
        cTabHost.addTab(cTabHost.newTabSpec("netGrid")
                .setIndicator("tab3", img)
                .setContent(R.id.netGrid));
        cTabHost.addTab(cTabHost.newTabSpec("toolGrid")
                .setIndicator("tab4", img)
                .setContent(R.id.toolGrid));
       
        cTabHost.setCurrentTab(0);
       
        mNetList = new ArrayList<IconListData>();
        IconListData arr = new IconListData(R.drawable.star, "tab");
        mNetList.add(arr);
        arr = new IconListData(R.drawable.star, "grid");
        mNetList.add(arr);
        GridView gr = (GridView) findViewById(R.id.netGrid);
        gr.setAdapter(new IconAdapter(this));
        gr.setOnItemClickListener(new OnItemClickListener() {
           
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(TestTabGrid.this, "" + position, Toast.LENGTH_SHORT).show();

            }
        });
       
        mToolList = new ArrayList<IconListData>();
        arr = new IconListData(R.drawable.star, "item1");
        mToolList.add(arr);
        arr = new IconListData(R.drawable.star, "item2");
        mToolList.add(arr);
        arr = new IconListData(R.drawable.star, "item3");
        mToolList.add(arr);
        GridView gr2 = (GridView) findViewById(R.id.toolGrid);
        gr2.setAdapter(new IconAdapter(this));
        gr2.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(TestTabGrid.this, "" + position, Toast.LENGTH_SHORT).show();

            }
        });
       
       
    }
   
    public class IconAdapter extends BaseAdapter {
        private IconListData temp;
       
        public IconAdapter(Context c) {
        }

        public View getView(int position, View convertView, ViewGroup parent) {
            Button b;

            if (convertView == null) {
                b = new Button(TestTabGrid.this);
                b.setLayoutParams(new GridView.LayoutParams(50, 50));
            } else {
                b = (Button) convertView;
            }

            if(cTabHost.getCurrentTab() == 0){
                temp = mNetList.get(position);
                b.setText(temp.name);
                b.setBackgroundResource(temp.resId);
            }else if(cTabHost.getCurrentTab() == 1){
                temp = mToolList.get(position);
                b.setText(temp.name);
                b.setBackgroundResource(temp.resId);
            }

            return b;
        }


        public final int getCount() {
            int size = 0;
            if(cTabHost.getCurrentTab() == 0)
                size = mNetList.size();
            else if(cTabHost.getCurrentTab() == 1)
                size = mToolList.size();
            return size;
        }

        public final Object getItem(int position) {
            IconListData temp2 = null;
            if(cTabHost.getCurrentTab() == 0)
                temp2 = mNetList.get(position);
            else if(cTabHost.getCurrentTab() == 1)
                temp2 = mToolList.get(position);
           
            return temp2;
        }

        public final long getItemId(int position) {
            return position;
        }
    }
   
}