Domanda

Ho un pulsante all'interno dell'adattatore layout della griglia e voglio impostare OnClickListener nel metodo GetView per avviare l'attività, ma ho l'eccezione del puntatore nullo quando faccio clic. Questo è il mio codice:

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

    }

Qualcosa di sbagliato nel mio codice sopra ??

È stato utile?

Soluzione

In OnClickListener prova a chiamare StartActivity () con l'istanza di contesto. L'adattatore non avrà un contesto da solo. Quindi devi specificare il contesto per l'avvio dell'attività.

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

}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top