膨胀自定义视图android问题
我已将视图扩展为ScrollImageView。然后我将其放入xml中: 在main.xml中:膨胀自定义视图android问题,android,view,inflate,Android,View,Inflate,我已将视图扩展为ScrollImageView。然后我将其放入xml中: 在main.xml中: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="wrap_content"
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:orientation="vertical">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/hello" />
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:id="@+id/my_xml" />
<com.Android.Maps03.ScrollImageView
android:id="@+id/BaseView" android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</RelativeLayout>
当我运行应用程序时,滚动图像不会出现
clase(ScrollImageView)的构造函数如下所示:
你有什么想法吗
谢谢
评论#1是的,我忘记了,但我也有同样的问题
注释#2不,我用第二个/>关闭所有布局,而不是关闭两次
评论#3这是新的logcat,我认为这是最引人注目的条目
请帮忙 您没有在Activity onCreate中调用setContentView您没有在Activity onCreate中调用setContentView不确定这是否是问题所在,但超级调用应该是超级(上下文,属性集)。attributeSet包含xml中的所有属性。您还关闭了ScrollImageView元素两次。@Gonzalo Diaz Harcha您确定设置的当前布局定义了ScrollImageView吗?。。如果它在对象链中的某个位置出现问题,在您试图查找它之前,它可能会抛出该问题,这听起来更像是您正在查找的视图不包含嵌套视图,显然,将null转换为类型从来都不是一件有趣的事。因此,您的活动视图使用了
setContentView()
传递包含视图?我在问题中添加了更多代码@Quintin Robinson我不知道布局是否包含scrollimageview。错误日志显示“com.Android.Maps03.ScrollImageView无法安装”。我想这可能就是问题所在。设置为setContentView(R.layout.main);程序给出的main.xml。@Gonzalo Diaz Harcha好的,有两件事,您已经扩展了抛出错误的行,哪一行实际上抛出了异常?另外,如果您在调试中运行应用程序,是否可以进入ScrollImageView
构造函数,查看它是否在特定行出现异常?不确定这是否是问题所在,但超级调用应该是超级(上下文,属性集)。attributeSet包含xml中的所有属性。您还关闭了ScrollImageView元素两次。@Gonzalo Diaz Harcha您确定设置的当前布局定义了ScrollImageView吗?。。如果它在对象链中的某个位置出现问题,在您试图查找它之前,它可能会抛出该问题,这听起来更像是您正在查找的视图不包含嵌套视图,显然,将null转换为类型从来都不是一件有趣的事。因此,您的活动视图使用了setContentView()
传递包含视图?我在问题中添加了更多代码@Quintin Robinson我不知道布局是否包含scrollimageview。错误日志显示“com.Android.Maps03.ScrollImageView无法安装”。我想这可能就是问题所在。设置为setContentView(R.layout.main);程序给出的main.xml。@Gonzalo Diaz Harcha好的,有两件事,您已经扩展了抛出错误的行,哪一行实际上抛出了异常?另外,如果您在调试中运行应用程序,是否可以进入ScrollImageView
构造函数,查看它是否在特定行出现异常?我将setContentView()放在指针之前,因此现在我没有空指针异常,但我的ScrollImageView没有出现…:S@GonzaloDiaz Harcha嗯,里面没有任何内容,你希望看到什么?我加载图像资源。例如,如果我调用“…ScrollImageView sIV=new ScrollImageView(this);然后调用setContentView(sIV);该视图是完美的,这就是我想要的,但我需要按钮等其他东西,不仅仅是该视图。我认为这样会更好(尝试将我的ScrollImageView放入main.xml并从那里调用)但是它没有任何好的效果。你有什么想法吗?谢谢所有看起来都不错你只需要在scrollview中添加内容它是空的。我把setContentView()放在在指针之前,所以现在我没有空指针异常,但是我的ScrollImageView没有出现…:S@GonzaloDiaz Harcha嗯,它里面没有任何内容,您希望看到什么?我加载图像资源。例如,如果我调用“…ScrollImageView sIV=new ScrollImageView(this)”;然后设置内容视图(sIV);视图是完美的,这是我想要的,但我需要其他东西,比如按钮,不仅仅是视图。我认为这种方法会更好(尝试将我的ScrollImageView放入main.xml并从那里调用),但没有任何好的结果。你有什么想法吗?thanksit一切看起来都不错,你只需要在scrollview中添加内容,因为它是空的。
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
ScrollImageView sIV = (ScrollImageView)findViewById(R.id.BaseView);
Bitmap markerImage = BitmapFactory.decodeResource(this.getResources(), R.drawable.mapbase );
sIV.setImage(markerImage);
public ScrollImageView(Context context, AttributeSet attributeSet) {
super(context);
initScrollImageView(context);
private void initScrollImageView(Context context) {
mDisplay = ((WindowManager)context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
mPadding = DEFAULT_PADDING;
}