2016-09-07 6 views
2

Ich erstelle eine PopupWindow Nachricht auf onClick Falle eines ImageButton ich die PopupWindow Nachricht auf Emulator sehen können, aber es kann nicht auf Handy sehen, habe ich viele Handys von API 17 bis 23 versucht, ich.
bin das Problem nicht in der Lagekann nicht auf Mobil PopupWindow Nachricht anzeigen

@OnClick(R.id.infoRatingDetail) 
public void ratingInfo(View view){ 
    TextView message; 
    PopupWindow popup=new PopupWindow(getContext()); 
    View view_pop=inflater.inflate(R.layout.pop_up_detail,null); 
    message=(TextView)view_pop.findViewById(R.id.pop_up_textView); 
    message.setText(R.string.rating_info); 
    popup.setContentView(view_pop); 
    popup.setOutsideTouchable(true); 
    popup.setFocusable(true); 
    popup.showAsDropDown(view); 
} 

Antwort

3

Ich weiß nicht warum, aber ich hatte das gleiche Problem & Hinzufügen dieser beiden Zeilen löste mein Problem.

popup.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT); 
popup.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT); 
popup.showAsDropDown(view); 
popup.update(); 

Hoffe, das wird dir auch helfen.

+0

es löste mein Problem, danke – rookieDeveloper

+0

Vergnügen hilft Ihnen :) – buzzingsilently

0

Haben Sie getApplicationContext() statt getContext() versucht zu finden?

+0

Ich verwende es in einem Fragment – rookieDeveloper

+0

also versuchen Sie 'getActivity() 'vor dem Kontext für Ihren Inflater bekommen? – linhtruong

0

popup.setWindowLayoutMode Versuchen (view.LayoutParams.WRAP_CONTENT, view.LayoutParams.WRAP_CONTENT);

+0

setWindowLayoutMode ist veraltet – rookieDeveloper

+1

Dies ist veraltet, aber stattdessen können Sie 'setWidth()' und 'setHeight()' – buzzingsilently