看板 AndroidDev 關於我們 聯絡資訊
最近寫了一個Gallery 做法是另外寫個GalleryAdapter把photo_view(個別放網路上讀到的圖)這個layout讀進 主要的layout(佈局是用GridView)中 並在photo_view中有把imageview設onclick 讓使用者按每張圖片都可以直接觸發事件 但後來因為整體需求把程式改用fragment寫 才發現fragment不允許從xml檔直接onclick 在網路上找了有兩個主要的方法 1. 是讓fragment實作OnClickListener 然後@Override onClick 但試過後按圖片完全沒反應(連onClick都沒進去) 2. 另一個方法是一樣在xml中設定android:onClick="myClickMethod" 然後用Activity來接 Activity中裡: Fragment someFragment; public void myClickMethod(View v) { someFragment.myClickMethod(v); } 但試過後都會發生錯誤java.lang.NullPointerException 希望大家看得懂QQ 請問有大大知道該怎麼做嗎 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.168.42.10 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1462534842.A.59E.html ※ 編輯: fit1122 (114.42.115.220), 05/06/2016 20:07:58
FlowerYen: 1. 確認你imageview是否有setOnClickListener 05/06 20:20
FlowerYen: 2. 如果是照你說到寫法,你的someFragment沒有instance 05/06 20:22
FlowerYen: 當然會出現NPE 05/06 20:22
感謝大大指引!! 我本來以為用 Myfragment somefragment = new Myfragment(); 的方式就可以 剛在這邊找到 https://github.com/codepath/android_guides/wiki/Creating-and-Using-Fragments 要用 Myfragment somefragment = (Myfragment) getSupportFragmentManager().findFragmentByTag("MyTag"); 這樣就成功了 ※ 編輯: fit1122 (114.42.115.220), 05/06/2016 21:22:44