我试图通过从ImageView转换为TouchImageView来修改我的图像查看器活动,根据这里的答案:How can I get zoom functionality for images?
但是,当我的活动尝试加载时出现错误:
二进制XML文件行#15:错误导致类TouchImageView
这是我的 image_viewer.xml :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!--
<WebView
android:id="@+id/webView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
-->
<TouchImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</RelativeLayout>
我的代码在 ImageViewer.java 的onCreate里面(虽然我很确定执行从来没有这么做过):
if(filepath != null && filepath.length() > 0 && new File(filepath).exists())
{
Bitmap myBitmap = BitmapFactory.decodeFile(filepath);
TouchImageView imgView = (TouchImageView) findViewById(R.id.imageView1);
imgView.setImageBitmap(myBitmap);
}
有关导致此错误的原因或原因的任何想法?我所看到的是最内部的例外/原因。不知道如何获得有关错误的更多详细信息。
提前致谢。
更新:
执行此行时会抛出异常:
setContentView(R.layout.image_viewer);
有关错误的更多详细信息:
java.lang.ClassNotFoundException:android.view.TouchImageView in loader dalvik.system.PathClassLoader@44bfde70
答案 0 :(得分:13)
您需要拥有任何自定义视图类的完全限定名称。 e.g:
<com.kon.thing.TouchImageView ... />
JVM无法找到您的班级。
答案 1 :(得分:0)
确保您在xml中输入了正确的包名称 像..
<com.gallery.TouchImageView
android:id="@+id/imgDisplay"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="fitCenter" />