我在类级别声明了一个PopupWindow:
private PopupWindow dialogScanBadge;
我根据用户操作创建窗口:
ViewGroup viewGroup = (ViewGroup)getWindow().getDecorView();
LayoutInflater layoutInflater = (LayoutInflater)getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = layoutInflater.inflate(R.layout.dialog_scan_badge, viewGroup);
dialogScanBadge = new PopupWindow(layout);
并将其添加到当前ViewGroup。我只想显示弹出7秒然后将其删除:
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
Intent intent = new Intent(Strings.ACTION_PROCESS_SCAN_RESULTS);
sendBroadcast(intent);
}
}, 7000);
调用(在UI线程上):
dialogScanBadge.dismiss();
但弹出窗口仍然显示。没有遇到任何错误,我已确认已执行第dialogScanBadge.dismiss();
行。
我看过很多SO帖子都有这个解决方案。但是,这不起作用。
我也尝试过没有成功:
viewGroup.removeView(dialogScanBadge.getContentView());
请告知