Log.i("===","q");
Log.i("===",""+R.id.mainlayout);
Log.i("===",""+findViewById(R.id.mainlayout));
final PopupWindow popupWindow = new PopupWindow(
view1.findViewById(R.id.mainlayout), 200, 300);
做手勢識別,彈出popwindow,不過加載自定義的layout的時候,總是報findviewbyid()nullpointer,用log測試的時候,說它返回的是null。。無語,找了好久,想了好久,總是不對。。一晚上過去了實在沒有辦法了,瘋狂百度,google。。網上說的原因大概有三點:
1:eclipse的原因,只需要clean一下即可。
2:findviewbyid在setcontentview之前,沒有找到。解決方案是吧findviewbyid放在後面。
3:findviewbyid是在當前的context對應的layout下面找id,跨xml或者activitity的話就會返回null,所以要在自己對應的xml裏面去findview
我的是在一個自定義的view裏面找的id,要尋找main.xml裏面的id,所以總要報錯。
View view1=View.inflate(con,R.layout.main,null);
final PopupWindow popupWindow = new PopupWindow(
view1.findViewById(R.id.mainlayout), 200, 300);