android.view.ViewRootImpl cannot be cast to android.view.View
up vote
0
down vote
favorite
enter code here
I'm trying close popup when touch outside popup.My vode working API level 23+ .but not working API level 17.
Thank You in advance.enter image description here
LayoutInflater layoutInflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View popupView = layoutInflater.inflate(dosy.app.yds.R.layout.toast_popup, null);
final PopupWindow popupWindow = new PopupWindow(popupView,
ActionBar.LayoutParams.MATCH_PARENT,
ActionBar.LayoutParams.WRAP_CONTENT);
popupWindow.setOutsideTouchable(true);
popupWindow.setFocusable(true);
txtToast=(TextView)popupView.findViewById(dosy.app.yds.R.id.textViewToast);
txtToast.setText(mWord);
popupWindow.showAsDropDown(widget);
final View parent = (View) popupWindow.getContentView().getParent();
//dim the window in the background
final WindowManager wm = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
final WindowManager.LayoutParams p = (WindowManager.LayoutParams) parent.getLayoutParams();
p.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND;
p.dimAmount = 0.2f;
wm.updateViewLayout(parent, p);
popupWindow.setTouchInterceptor(new View.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_OUTSIDE){
p.dimAmount = 0.0f;
wm.updateViewLayout(parent, p);
return true;
}
return false;
}
});
android api view classcastexception rootview
add a comment |
up vote
0
down vote
favorite
enter code here
I'm trying close popup when touch outside popup.My vode working API level 23+ .but not working API level 17.
Thank You in advance.enter image description here
LayoutInflater layoutInflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View popupView = layoutInflater.inflate(dosy.app.yds.R.layout.toast_popup, null);
final PopupWindow popupWindow = new PopupWindow(popupView,
ActionBar.LayoutParams.MATCH_PARENT,
ActionBar.LayoutParams.WRAP_CONTENT);
popupWindow.setOutsideTouchable(true);
popupWindow.setFocusable(true);
txtToast=(TextView)popupView.findViewById(dosy.app.yds.R.id.textViewToast);
txtToast.setText(mWord);
popupWindow.showAsDropDown(widget);
final View parent = (View) popupWindow.getContentView().getParent();
//dim the window in the background
final WindowManager wm = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
final WindowManager.LayoutParams p = (WindowManager.LayoutParams) parent.getLayoutParams();
p.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND;
p.dimAmount = 0.2f;
wm.updateViewLayout(parent, p);
popupWindow.setTouchInterceptor(new View.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_OUTSIDE){
p.dimAmount = 0.0f;
wm.updateViewLayout(parent, p);
return true;
}
return false;
}
});
android api view classcastexception rootview
try to use 'popupWindow.getContentView()' in place of 'popupWindow.getContentView().getParent()'
– Rahul Sonpaliya
Nov 10 at 12:31
Hi Rahul, I'm try your advice. Now get "java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to android.view.WindowManager$LayoutParams" exception, line: WindowManager.LayoutParams p = (WindowManager.LayoutParams) parent.getLayoutParams(); in API 23+ . So I cant touchoutside in API 17
– sinan yılmaz
Nov 10 at 13:59
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
enter code here
I'm trying close popup when touch outside popup.My vode working API level 23+ .but not working API level 17.
Thank You in advance.enter image description here
LayoutInflater layoutInflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View popupView = layoutInflater.inflate(dosy.app.yds.R.layout.toast_popup, null);
final PopupWindow popupWindow = new PopupWindow(popupView,
ActionBar.LayoutParams.MATCH_PARENT,
ActionBar.LayoutParams.WRAP_CONTENT);
popupWindow.setOutsideTouchable(true);
popupWindow.setFocusable(true);
txtToast=(TextView)popupView.findViewById(dosy.app.yds.R.id.textViewToast);
txtToast.setText(mWord);
popupWindow.showAsDropDown(widget);
final View parent = (View) popupWindow.getContentView().getParent();
//dim the window in the background
final WindowManager wm = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
final WindowManager.LayoutParams p = (WindowManager.LayoutParams) parent.getLayoutParams();
p.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND;
p.dimAmount = 0.2f;
wm.updateViewLayout(parent, p);
popupWindow.setTouchInterceptor(new View.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_OUTSIDE){
p.dimAmount = 0.0f;
wm.updateViewLayout(parent, p);
return true;
}
return false;
}
});
android api view classcastexception rootview
enter code here
I'm trying close popup when touch outside popup.My vode working API level 23+ .but not working API level 17.
Thank You in advance.enter image description here
LayoutInflater layoutInflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View popupView = layoutInflater.inflate(dosy.app.yds.R.layout.toast_popup, null);
final PopupWindow popupWindow = new PopupWindow(popupView,
ActionBar.LayoutParams.MATCH_PARENT,
ActionBar.LayoutParams.WRAP_CONTENT);
popupWindow.setOutsideTouchable(true);
popupWindow.setFocusable(true);
txtToast=(TextView)popupView.findViewById(dosy.app.yds.R.id.textViewToast);
txtToast.setText(mWord);
popupWindow.showAsDropDown(widget);
final View parent = (View) popupWindow.getContentView().getParent();
//dim the window in the background
final WindowManager wm = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
final WindowManager.LayoutParams p = (WindowManager.LayoutParams) parent.getLayoutParams();
p.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND;
p.dimAmount = 0.2f;
wm.updateViewLayout(parent, p);
popupWindow.setTouchInterceptor(new View.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_OUTSIDE){
p.dimAmount = 0.0f;
wm.updateViewLayout(parent, p);
return true;
}
return false;
}
});
android api view classcastexception rootview
android api view classcastexception rootview
asked Nov 10 at 12:04
sinan yılmaz
83
83
try to use 'popupWindow.getContentView()' in place of 'popupWindow.getContentView().getParent()'
– Rahul Sonpaliya
Nov 10 at 12:31
Hi Rahul, I'm try your advice. Now get "java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to android.view.WindowManager$LayoutParams" exception, line: WindowManager.LayoutParams p = (WindowManager.LayoutParams) parent.getLayoutParams(); in API 23+ . So I cant touchoutside in API 17
– sinan yılmaz
Nov 10 at 13:59
add a comment |
try to use 'popupWindow.getContentView()' in place of 'popupWindow.getContentView().getParent()'
– Rahul Sonpaliya
Nov 10 at 12:31
Hi Rahul, I'm try your advice. Now get "java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to android.view.WindowManager$LayoutParams" exception, line: WindowManager.LayoutParams p = (WindowManager.LayoutParams) parent.getLayoutParams(); in API 23+ . So I cant touchoutside in API 17
– sinan yılmaz
Nov 10 at 13:59
try to use 'popupWindow.getContentView()' in place of 'popupWindow.getContentView().getParent()'
– Rahul Sonpaliya
Nov 10 at 12:31
try to use 'popupWindow.getContentView()' in place of 'popupWindow.getContentView().getParent()'
– Rahul Sonpaliya
Nov 10 at 12:31
Hi Rahul, I'm try your advice. Now get "java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to android.view.WindowManager$LayoutParams" exception, line: WindowManager.LayoutParams p = (WindowManager.LayoutParams) parent.getLayoutParams(); in API 23+ . So I cant touchoutside in API 17
– sinan yılmaz
Nov 10 at 13:59
Hi Rahul, I'm try your advice. Now get "java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to android.view.WindowManager$LayoutParams" exception, line: WindowManager.LayoutParams p = (WindowManager.LayoutParams) parent.getLayoutParams(); in API 23+ . So I cant touchoutside in API 17
– sinan yılmaz
Nov 10 at 13:59
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
draft saved
draft discarded
draft saved
draft discarded
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53238760%2fandroid-view-viewrootimpl-cannot-be-cast-to-android-view-view%23new-answer', 'question_page');
}
);
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
try to use 'popupWindow.getContentView()' in place of 'popupWindow.getContentView().getParent()'
– Rahul Sonpaliya
Nov 10 at 12:31
Hi Rahul, I'm try your advice. Now get "java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to android.view.WindowManager$LayoutParams" exception, line: WindowManager.LayoutParams p = (WindowManager.LayoutParams) parent.getLayoutParams(); in API 23+ . So I cant touchoutside in API 17
– sinan yılmaz
Nov 10 at 13:59