1. 程式人生 > >fragment中設定點選事件(onclick)使用intent進行通訊

fragment中設定點選事件(onclick)使用intent進行通訊


今天在學習安卓的過程中,需要實現一個功能通訊,就是需要在一個fragment中設定一個按鈕,點選之後會跳轉到一個新的頁面,我首先想到是給按鈕設定一個onclick屬性,

按照以往寫了這樣的程式碼

public  void toneed(View view){
    ntent intent_toneed = new Intent(Need.this,ToNeed.class);
    startActivity(intent_toneed);
    
}

可是卻報錯了,又嘗試了下面的一種方法
toneed.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent_toneed = new Intent(Need.this,ToNeed.class);
                startActivity(intent_toneed);
            }
        });

結果又出現了同樣的錯誤,依然是行不通,然後我找了一些資料,然後又自己研究了一下,最後給解決了,原因在於fragment不像activity那樣可以這樣進行通訊,fragment中有
一個如下的方法

onActivityCreated
需要將監聽事件寫在這裡面,而最最重要的是不能再這樣寫了

Intent intent_toneed = new Intent(Need.this,ToNeed.class);

需要改成

Intent intent_toneed = new Intent(getActivity(),ToNeed.class);

這樣就可以了
以上只是自己簡單的瞭解,本人還需要更深入的學習,如果你遇到同樣的問題,希望可以幫到你,謝謝!