以下情况:
我有一些包含一些ImageView的布局。我还有一个按钮来添加一些新的ImageViews。单击它时,您将获得一个可以选择图像的概述。然后概述活动结束,然后返回到片段。现在,选择的图像应该添加到布局中。
布局:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical
android:id="@+id/myLinearLayout">
<ImageView
android:id="@+id/circle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/circle">
</ImageView>
<ImageView
android:id="@+id/square"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/square">
</ImageView>
<ImageButton
android:id="@+id/add_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:src="@drawable/add"/>
</LinearLayout>
&#13;
片段
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_ID) {
if (resultCode == Activity.RESULT_OK) {
ImageView imageView = new ImageView(getContext());
imageView.setImageResource(R.drawable.addedimg);
imageView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
myLinearLayout.addView(imageView);
}
}
}
从选择活动返回片段工作正常。为简单起见,我添加了一个硬编码的imgsource。
为什么它没有出现在布局上?我错过了什么吗?我需要使用LayoutInflater吗?
答案 0 :(得分:1)
可能是它添加了 - 您可能想要启动“布局检查器” - 将您的应用程序/移动设备连接到它并观察是否有东西阻挡它或覆盖在此布局上。
顺便说一句,你正在使用拖动布局检查其父级布局参数。
答案 1 :(得分:0)
我比较了现有图像视图和新添加的不可见图像的属性:
新:
mOverScrollMode = 1
mOverlay = null
mPaddingBottom = 0
mPaddingLeft = 0
mPaddingRight = 0
mPaddingTop = 0
mParent = null
mPendingCheckForLongPress = null
mPendingCheckForTap = null
mPerformClick = null
&#13;
现有:
mOverScrollMode = 1
mOverlay = null
mPaddingBottom = 0
mPaddingLeft = 0
mPaddingRight = 0
mPaddingTop = 0
mParent = {DragFrameLayout@6904} "org.mobi.bluemoon.ui.DragFrameLayout{75a40af V.E...... ........ 0,0-720,949 #7f0e00eb app:id/main_layout}"
mPendingCheckForLongPress = null
mPendingCheckForTap = null
mPerformClick = null
&#13;
我们可以看到没有父设置为新的。
解决方案是:
dragLayout.addView(imageView);
dragLayout.addDragView(imageView);
谢谢你们!