Truyền this vào hàm như thế nào?

Discussion in 'Hướng dẫn lập trình Android' started by SACALO, 3/5/17.

  1. SACALO

    SACALO New Member

    [​IMG]
    Bị lỗi ngay chỗ new GetKN(MainActivity).execute();
    Ở ngoài new GetKN(this).execute(); được nhưng vào trong hàm sự kiện thì dùng this không được. Em là newbie không biết giải quyết sao mong mọi người giúp đỡ!
  2. JackV

    JackV Administrator Staff Member

    SACALO likes this.
  3. SACALO

    SACALO New Member

  4. longlv.th

    longlv.th Active Member

    Trong android KHÔNG để context là static sẽ bị leak memory.
    Bạn KHÔNG nên làm theo cách chỉ của JackV
    Cái này được vì nó nằm trong method của MainActivity thì truyền vào this thì this này chính là MainActivity
    còn
    button1.setOnclickListener(new OnClickListener(){
    onClick(View v){
    //new GetKN(MainActivity)....// nhu the nay la sai, khi bạn truyền this vào đây, this này nghĩa là của OnClickListener chứ k phải của MainActivity nên nó báo lỗi là đúng nhé

    //Phai truyền như thế này
    //Ngoài ra trong AsynTask bạn nên dùng WeakReference để warp Context lại nhé, trong Asyn rất dễ bị leak Context (MainActivity)
    new GetKN(MainActivity.this)...;
    }
    })
    JackV likes this.

Chia sẻ trang này