网格布局适配器上的StartActivity时为空指针

时间:2012-02-28 03:51:01

标签: android nullpointerexception grid-layout onclicklistener

我在网格布局适配器中有一个按钮,我想在getView方法中设置OnClickListener来启动活动, 但是当我点击它时,我有Null Pointer Exception。 这是我的代码:

@Override
    public View getView(final int position, View convertView, ViewGroup parent) {
            convertView = mInflater.inflate(mViewResourceId, null);

            LoaderImageView thumnail=new LoaderImageView(mCon, "");
            LinearLayout thum=(LinearLayout)convertView.findViewById(R.id.thumn);
            thumnail.setImageDrawable(mList.get(position).getPict());
            thum.addView(thumnail);

            TextView namaPro=(TextView)convertView.findViewById(R.id.namaPro);
            namaPro.setText(mList.get(position).getNama());

            /*Rate* Menyusul*/

            Button view=(Button)convertView.findViewById(R.id.viewlist);
            view.setId(position);
            view.setOnClickListener(new onClick());

            return convertView;
    }

    class onClick extends Activity implements OnClickListener{

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent i=new Intent(mCon, DetailProduct.class);
            startActivity(i);
        }

    }

上面的代码有什么问题吗?

1 个答案:

答案 0 :(得分:0)

在onclicklistener中尝试使用Context实例调用startActivity()。适配器本身不具有上下文。因此,您必须指定启动活动的上下文。

 class onClick extends Activity implements OnClickListener{

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent i=new Intent(mCon, DetailProduct.class);
        mCon.startActivity(i);
    }

}