开发者

Called other Activity/CustomAdapter from an customadapter

开发者 https://www.devze.com 2023-02-10 03:19 出处:网络
In my code i just used two listview and two CustomAdapter for this two listView,in which first listview is implement through an CustomAdapter,from this CustomAdapter i just want to call another (Activ

In my code i just used two listview and two CustomAdapter for this two listView,in which first listview is implement through an CustomAdapter,from this CustomAdapter i just want to call another (Activity/Other custom Adapter for second listview).It gives Exception like

java.lang.IllegalStateException: System services not available to Activities before onCreate()

private LayoutInflater mInflater;
    ViewFlipper vfWall;
    ImageView ivComments;
    TextView tvComments;
    ListView lvComments;
    WallCustom2 adapterForComments;
    ImageDownloader imageDownloader = new ImageDownloader();
    private static final String[] URLS = 
     {
      "http://lh5.ggpht.com/_mrb7w4gF8Ds/TCpetKSqM1I/AAAAAAAAD2c/Qef6Gsqf12Y/s144-c/_DSC4374%20copy.jpg",
    };
    String[] itms={"hey dude kya kar raha hai.........."};

    public WallCustom(Context context,ViewFlipper vfWall,ImageView ivComments,TextView tvComments,ListView lvComments)
    {
        this.ivComments=ivComments;
        this.tvComments=tvComments;
        this.lvComments=lvComments;
        this.mInflater = LayoutInflater.from(context);
        this.vfWall=vfWall;
    }

    public int getCount() 
    {
        return  URLS.length;
    }

    public Object getItem(int position) {
        return position;
    }

    public long getItemId(int position) {
        return position;
    }

    public View getView(final int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        final ViewHolder holder;
        if (convertView开发者_开发技巧 == null) 
        {
            convertView = mInflater.inflate(R.layout.wallcustom, null);
            holder = new ViewHolder();
            holder.Image = (ImageView) convertView.findViewById(R.id.ivImageWallCustom);
            holder.Message= (TextView) convertView.findViewById(R.id.tvMessageWallCustom);
            holder.comments= (TextView) convertView.findViewById(R.id.tvExtraWallCustom);
            convertView.setTag(holder);
        } 
        else 
        {
            holder = (ViewHolder) convertView.getTag();
        }

         if(imageDownloader.download(URLS[position],holder.Image)!=null)
         {
             holder.Image.setImageBitmap( imageDownloader.download(URLS[position],holder.Image));
         }
        holder.Message.setText("hey dude kya kar raha hai..........");
        holder.comments.setText("Comments ");

        holder.comments.setOnClickListener(new View.OnClickListener() 
        {
            public void onClick(View v) 
            {
                 if(imageDownloader.download(URLS[position],ivComments)!=null)
                 {
                     ivComments.setImageBitmap( imageDownloader.download(URLS[position],ivComments));
                 }
                 tvComments.setText(itms[position]);
                 Wall wallobj=new Wall();
                adapterForComments=wallobj.ListViewForComments(); // gives object of second custom adapter
                lvComments.setAdapter(adapterForComments); // lvComments my second list view in which i want to set second custom adapter
                 vfWall.showNext();
            }
        });

        return convertView;
    }

    class ViewHolder 
    {
        ImageView Image;
        TextView Message;
        TextView comments;
    }


java.lang.IllegalStateException: System services not available to Activities before onCreate()

That error message is fairly straight-forward. You are attempting to use a system service, such as LayoutInflater, from the constructor or initializer of an activity. Do not attempt to use LayoutInflater until onCreate() at the earliest.


You might be using systemServide(InflaterService) that cannot be use untill the oncreate() event is called. So the console error message is straight to understand.

0

精彩评论

暂无评论...
验证码 换一张
取 消