android.view.ViewRootImpl cannot be cast to android.view.View











up vote
0
down vote

favorite












enter code hereI'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;
}
});









share|improve this question






















  • 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

















up vote
0
down vote

favorite












enter code hereI'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;
}
});









share|improve this question






















  • 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















up vote
0
down vote

favorite









up vote
0
down vote

favorite











enter code hereI'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;
}
});









share|improve this question













enter code hereI'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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










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




















  • 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



















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















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





































active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















 

draft saved


draft discarded



















































 


draft saved


draft discarded














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




















































































Popular posts from this blog

Full-time equivalent

さくらももこ

13 indicted, 8 arrested in Calif. drug cartel investigation