【发布时间】:2013-01-03 22:58:16
【问题描述】:
我知道这适用于 onClick 事件处理程序:
public void NextPage(View view)
{
View parentView = (View) view.getParent();
parentView.setBackground(images[imageNumber]);
}
这很好用。我能够获取被点击的 imagebutton 的父视图。我当前活动视图的背景设置为可绘制图像数组。
但是,我正在尝试使用以下方法在其他地方获得相同的视图:
View parentView = getWindow().getDecorView().findViewById(android.R.id.content);
parentview.setBackground(images[imageNumber]);
这不起作用。我相信返回的视图不是正确的视图。我可能会看到我的主要活动。
编辑:
所以我有 2 个活动。我的 MainActivity 和我的 SecondActivity。在 MainActivity 中单击按钮后,我开始第二个活动:
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
在我的 SecondActivity 中,我的背景可能会发生变化。更改它的一种方法是单击 1 one 2 按钮。这是由上面的 NextPage 代码完成的,只要我可以访问正确的视图,它就可以完美地工作。
有时我想更改背景,但是我似乎无法访问正确的视图。我不确定如何找到与 NextPage 能够找到的单击事件相同的视图。
【问题讨论】:
-
你是崩溃了还是什么都没做?
-
"...试图在其他地方获得相同的视图..." - “其他地方”在哪里?
-
你试过 getWindow().getDecorView() 吗?通常,您可以为要设置为活动内容视图的视图设置一个 id,这样您可以在将视图添加为 contentView 后在 onCreate() 中获取它。
标签: android view android-activity