我目前有一个名为 PlayActivity 的FragmentActivity。 PlayActivity包含5个子片段。在PlayActivity的onStart()方法中,我试图使用 findViewById(R.id.avatarView)在其中一个子片段中引用ImageView,但是,它会出现空值。
PlayActivity中的代码:
public void updateAvatar(Bitmap avatar)
{
ImageView avatarViewer = (ImageView) findViewById(R.id.avatarView);
avatarViewer.setImageBitmap(avatar);
}
子片段的XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".PlayerActivity" >
<ImageView
android:id="@+id/avatarView"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="34dp"
android:layout_marginTop="62dp"
android:src="@drawable/energy_icon" />
答案 0 :(得分:1)
您无法直接从活动中访问片段视图的元素。只有相关的片段才能访问自己的视觉元素。
在片段中创建一个公共方法,该方法将采用Bitmap
参数并将位图设置为正确的ImageView
。然后从您的活动中调用此方法并将位图传递给它。