//create layoutinflator try {
LayoutInflater inflator = LayoutInflater.from(this);
//create view
final View menuview = inflater.inflate(R.layout.menu,
(ViewGroup) findViewById(R.layout.dictionarylist));
Button Menu = (Button) findViewById(R.id.Menu);
Menu.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
final PopupWindow pw = new PopupWindow(menuview);//initialize popupwindow
pw.showAtLocation(v, Gravity.CENTER, 0, 0);
pw.update(0, 0, 200, 250);
pw.setOutsideTouchable(false);//set outside touch to false
//onclick listener for the button inside popupwindow
Button b1 = (Button) menuview.findViewById(R.id.btnClose);
b1.setOnClickListener(new OnClickListener() {
// @Override
public void onClick(View v) {
pw.dismiss();
}
});
Button b2 = (Button) menuview.findViewById(R.id.btnQuiz);
b2.setOnClickListener(new OnClickListener() {
// @Override
public void onClick(View v) {
}
});
Button b3 = (Button) menuview.findViewById(R.id.btnTopic);
b3.setOnClickListener(new OnClickListener() {
// @Override
public void onClick(View v) {
InitialTask2 Task1 = new InitialTask2();
Task1.execute();
}
});
Button b4 = (Button) menuview
.findViewById(R.id.btnDictionarylist);
b4.setOnClickListener(new OnClickListener() {
// @Override
public void onClick(View v) {
try{
if(getApplication() != null){
pw.dismiss();
}
else{
Intent i = new Intent();
i.setClass(getBaseContext(), Dictionarylist.class);
startActivity(i);
}
}
catch(Exception x){
x.getMessage();
}
}
});
}
});
} catch (Exception e) {
e.getMessage();
}
}
popup window outside click does not work pw.setOutsideTouchable(false);
. When clicking outside the popup window it perform action placed behind the popup window i.e parent window.
Try the below code. Its working for me
Try this:
When window touchable is
true
, focusable isfalse
,setOutsideTouchable()
works.If
setOutsideTouchable(true)
, touch outside of popupwindow will dismiss, otherwise the outside of popupwindows still can be touchable without dismiss.To dismiss the popup window just add the following line of code
It worked for me and i am sure this is what you want.