fragment中設定點選事件(onclick)使用intent進行通訊
阿新 • • 發佈:2019-02-19
今天在學習安卓的過程中,需要實現一個功能通訊,就是需要在一個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);
這樣就可以了
以上只是自己簡單的瞭解,本人還需要更深入的學習,如果你遇到同樣的問題,希望可以幫到你,謝謝!