Null Pointer, когда StartActivity в адаптере макета сетки - PullRequest
0 голосов
/ 28 февраля 2012

У меня есть кнопка внутри адаптера макета сетки, и я хочу установить OnClickListener в методе getView, чтобы начать действие, но у меня есть исключение Null Pointer, когда я нажимаю на него .. Это мой код:

@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 голосов
/ 28 февраля 2012

В onclicklistener попробуйте вызвать startActivity () с экземпляром Context. Адаптер не будет иметь контекст сам по себе. Таким образом, вы должны указать контекст для начала действия.

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

}
...