Java 图像视图没有';t如果屏幕未旋转且其他图像视图已更新,则显示图像 问题
我对Android上的2个ImageView有问题 第一个显示一个大图像。它位于RelativeLayout内,是一个自定义ImageView()。到目前为止,它一直表现良好 第二个也在RelativeLayout内,但它是一个“正常”图像视图。它显示蓝牙状态。显示它不会导致任何问题 然而,当我将代码以编程方式更改蓝牙指示灯的src时,第一个图像不再显示 问题是否来自自定义视图,它的工作不正确?我错过什么了吗 代码 如果我没有做这类事情:Java 图像视图没有';t如果屏幕未旋转且其他图像视图已更新,则显示图像 问题,java,android,Java,Android,我对Android上的2个ImageView有问题 第一个显示一个大图像。它位于RelativeLayout内,是一个自定义ImageView()。到目前为止,它一直表现良好 第二个也在RelativeLayout内,但它是一个“正常”图像视图。它显示蓝牙状态。显示它不会导致任何问题 然而,当我将代码以编程方式更改蓝牙指示灯的src时,第一个图像不再显示 问题是否来自自定义视图,它的工作不正确?我错过什么了吗 代码 如果我没有做这类事情: bluetoothState.setImageResou
bluetoothState.setImageResource(R.drawable.bluetooth_enabled192);
图像显示正确
以下是我使用的布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#1b1b1b"
android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen">
<com.ortiz.touch.TouchImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/imageView"
android:layout_gravity="center"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_above="@+id/textView" />
<TextView
android:layout_width="fill_parent"
android:layout_height="32dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/emptyDisplayText"
android:layout_gravity="center_horizontal|bottom"
android:gravity="center_vertical|center_horizontal"
android:textAllCaps="true"
android:elegantTextHeight="false"
android:ellipsize="end"
android:maxLines="1"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textSize="15sp"
android:textColor="#f3f3f3"
android:id="@+id/textView"
android:background="@drawable/rounded_rect"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="true"
android:layout_margin="10dp" />
<ImageView
android:layout_width="52dp"
android:layout_height="52dp"
android:id="@+id/bluetooth_state"
android:scaleType="centerCrop"
android:layout_alignParentTop="true"
android:layout_alignRight="@+id/textView"
android:layout_alignEnd="@+id/textView"
android:layout_gravity="top|right"
android:layout_margin="10dp"/>
</RelativeLayout>
期望结果
我得到的是没有中央图像的相同屏幕(文本和蓝牙指示正确显示)
铌
我开始对那个问题感到很沮丧。我只想显示2个图像。多谢各位
编辑
我没有提到,但是主图像是在后台加载的,使用异步任务。我曾尝试添加一些视图。无效()(在顶层布局、图像、蓝牙指示上),但没有解决问题
除了在旋转时出现的图像外,当我试图挤压不存在的图像时,它也会出现。试图通过编程方式重置缩放(hacky)也不起作用。好的,我发现了错误 正如我所说,我有一个AsyncTask(
BitmapWorkerTask
),我调用它将位图加载到后台的ImageView中
它的名字是这样的:
new BitmapWorkerTask(imageView, getApplicationContext()).execute(filename);
将
getApplicationContext()
更改为MainActivity。这个或getContext()
解决了这个问题:/(但是,我仍然发现它非常神奇,即使应用程序上下文!=活动上下文!)好的,我发现了错误
正如我所说,我有一个AsyncTask(BitmapWorkerTask
),我调用它将位图加载到后台的ImageView中
它的名字是这样的:
new BitmapWorkerTask(imageView, getApplicationContext()).execute(filename);
将getApplicationContext()
更改为MainActivity。这或getContext()
解决了这个问题:/(然而,我仍然发现,即使应用程序上下文!=活动上下文,它在如此长的时间内运行良好,这是非常神奇的!)能否显示图像的显示方式确保仅在UI线程上完成对图像视图的所有更改,包括SetImageResourceThread runOnUIThread,仍然无效:/能否显示图像的显示方式确保仅在UI线程上完成对图像视图的所有更改,包括SetImageResourceThread runOnUIThread,仍然不起作用:/