2015-06-02 30 views
-4

我不得不在自定義適配器類的listview中使用onclick監聽器。但是,每次嘗試點擊它時,它都會使應用程序崩潰。使用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

錯誤堆棧跟蹤添加到您的問題。 – 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); 
    } 
});