2015-06-02 1 views
-4

Мне нужно использовать onclick listener в пользовательском классе адаптера listview. Но каждый раз при сбое приложения, когда я пытаюсь щелкнуть по нему.Использовать OnclickListener В пользовательском классе адаптера

Вот класс адаптера :: -

public class ClassAdapter extends BaseAdapter{ 

    ArrayList<Class_Beans> feedList; 
    LayoutInflater inflater; 
    Activity activity; 

    Context context; 
    ImageLoader imageloader; 



    public ClassAdapter(ArrayList<Class_Beans> feedList, Activity activity) { 
     // TODO Auto-generated constructor stub 
     super(); 
     this.feedList = feedList; 
     this.activity = activity; 
     inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     imageloader = ImageLoader.getInstance(); 
     imageloader.init(ImageLoaderConfiguration.createDefault(activity)); 
    } 

    ********unimplemented methods calling******** 


    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     // TODO Auto-generated method stub 
     View vi = convertView; 
     ViewHolder holder; 

     if(convertView==null) 
      //convertView = inflater.inflate(R.layout.ozone_item, null); 

      convertView = inflater.inflate(R.layout.ozone_item, null); 
     holder = new ViewHolder(); 

     holder.tvDate = (TextView)convertView.findViewById(R.id.class_name); 
     holder.tvContent = (TextView)convertView.findViewById(R.id.ozone_content); 
     holder.tvUser = (TextView)convertView.findViewById(R.id.class_date); 
     holder.image_user_image = (ImageView)convertView.findViewById(R.id.class_user_image); 
     holder.postImage = (ImageView)convertView.findViewById(R.id.class_post_image); 
     holder.replyEdittext = (EditText)convertView.findViewById(R.id.class_writesomething); 



     holder.tvUser.setText(feedList.get(position).getName()); 
     holder.tvDate.setText(feedList.get(position).getCreated_date()); 
     holder.tvContent.setText(feedList.get(position).getContent()); 

     imageloader.displayImage(feedList.get(position).getUser_image(), holder.image_user_image); 

     holder.replyEdittext.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 

        Intent replyClassIntent = new Intent(context,Reply_Class.class); 

        activity.startActivity(replyOzoneIntent); 
      } 
     }); 

     return convertView; 
    } 

    public class ViewHolder { 
     public EditText replyEdittext; 
     public ImageView image_user_image; 
     public ImageView postImage; 
     TextView tvContent , tvUser, tvDate; 
    } 

Пожалуйста, скажите мне, что ошибка, которую я здесь делаю.

+0

Добавить StackTrace ошибки на ваш вопрос. – aga

ответ

1

Использование Activity вместо контекста beceause вашего Context имеет нулевое значение, вы не назначая ничего Context в конструкторе, но вы присваиваете значения Activity

holder.replyEdittext.setOnClickListener(new View.OnClickListener() 
{ 
    @Override 
    public void onClick(View v) 
    { 
     Intent replyClassIntent = new Intent(activity,Reply_Class.class); 
     activity.startActivity(replyOzoneIntent); 
    } 
});