我有一个应用程序,在单击ImageView时加载新图像, 但它崩溃并给我错误。 任何人都可以帮助我吗?
public class MainActivity extends Activity implements OnClickListener {
ImageView page;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
page = (ImageView) findViewById(R.id.Page);
page.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
page.setScaleType(ScaleType.FIT_CENTER);
page.setImageResource(R.drawable.ap2);
}
});
}
}
我尝试将图片转换为位图,但这也不起作用。 我的logCat一直向我发送OutOfMemoryException,当我点击ImageView时无法加载图像。 也许我的xml结构不好? `
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:id="@+id/Layout"
>
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:src="@drawable/gradient3"
android:scaleType="fitCenter"
/>
<ImageView
android:layout_gravity="center"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/ap1"
android:id="@+id/Page"
android:layout_marginLeft="5dip"
android:scaleType="fitCenter"
/>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="40dip"
android:layout_gravity="center|top"
>
<ImageView
android:layout_gravity="center|top"
android:padding="0dip"
android:layout_marginTop="0dip"
android:layout_width="40dip"
android:layout_height="40dip"
android:src="@drawable/sound_on"
android:scaleType="fitCenter"
android:layout_marginLeft="95dip"
android:id="@+id/Sound"/>
<ImageView
android:layout_gravity="center|top"
android:padding="0dip"
android:layout_marginTop="0dip"
android:layout_width="40dip"
android:layout_height="40dip"
android:layout_marginRight="95dip"
android:src="@drawable/share"
android:scaleType="fitCenter"
android:id="@+id/Share"/>
</FrameLayout>
` 哦,图像是合适的大小,如700kb,而不是更多。 谢谢!