UPDATE:導致的NullPointerException的常見錯誤是通過在片段使用getActivity()
代替充氣View v
的。碎片 - 無法啓動活動ComponentInfo {}:顯示java.lang.NullPointerException的Android
問題:
public class Products extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_produits, container , false);
listProduitsList=(ListView) getActivity().findViewById(R.id.lv_produitsList);//<- Mistake here
/**
* SOME CODE HERE
*/
return v;
}
編輯:經由充氣視圖訪問佈局的ressource在片段。
View v = inflater.inflate(R.layout.fragment_produits, container , false);
原因:
listProduitsList=(ListView) getActivity().findViewById(R.id.lv_produitsList);
getActivity()包含的主要活動資源不是片段,這將導致一個NullPointerException。
FIX:
listProduitsList=(ListView) v.findViewById(R.id.lv_produitsList);
logcat的:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.x/com.example.x.Catalogue}: java.lang.NullPointerException
請發佈LogCat輸出。否則你的問題沒有意義。 – 2014-11-24 12:40:18
logcat在哪裏? – 2014-11-24 12:40:19
使用v not getActivity()初始化ListView:v.findViewById(R.id.lv_produitsList) – 2014-11-24 12:43:03