2011-07-25 28 views
0

我知道很多人都有过类似的问题,这一点,但我不能找到一个解决我的自定义视图是不可见的。我创建了一个扩展SurfaceView的自定义视图。当我使用这个视图完美的作品:嵌入里面的时候Horizo​​ntalScrollView

setContentView(graphView); 

但是我希望它被嵌入在Horizo​​ntalScrollView内。如果我用xml试试这个:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 

android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 
<HorizontalScrollView 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:fillViewport="true"> 

<com.stuff.graph.GraphView 
android:id="@+id/graph" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"/> 

</HorizontalScrollView> 
</FrameLayout> 

然后我得到一个致命的异常,我的应用程序关闭。

如果我尝试使用编程解决这个问题:

graphView = new GraphView(this); 
graphView.setVisibility(View.VISIBLE); 
myScrollView = new HorizontalScrollView(this); 

graphView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
myScrollView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));   

myScrollView.addView(graphView);  

setContentView(myScrollView); 

这时屏幕只是黑色的。我也在上面显示的代码上尝试了很多变体,但都没有成功。我哪里错了?

+0

你的GraphView扩展了什么.. – ngesh

+0

它扩展了SurfaceView,实现了SurfaceHolder.Callback – user650309

回答

0

你应该能够得到它在XML没有问题 - 尝试嵌入滚动视图内一个ListView里面你的自定义图表视图。在我使用horizo​​ntalScrollView的经验中,他们倾向于选择他们的内容。如果这不起作用,请尝试测试以查看帧视图是否有问题。只需在水平滚动视图中添加一个按钮,看看是否可以显示出来。如果没有,那么尝试显示框架时会出现问题,并且与您的自定义代码无关。

+0

我没有尝试过,但是如果我尝试使用xml进行布局,我的应用程序只是崩溃了我的adb logcat,因为它是:E/AndroidRuntime(2900 ):致命例外:main E/AndroidRuntime(2900):java.lang.RuntimeException: 无法启动活动ComponentInfo {com.stuff.graph/com.stuff.graph.GraphActivity}: android.view.InflateException:Binary XML文件行#20:错误充气类com.stuff.graph.GraphView – user650309

+0

嗯,好吧,这就是为什么你不能充气水平滚动视图,它只是垂死更多默默对你。检查你的GraphView,看看为什么android无法膨胀它。此外,你知道android有它自己的graphView类可能会做类似的事情,这个问题可能会像重命名你的类或使用android的一样简单。 – Noah

+0

我摆弄约地段与该XML但是没有什么工作,在这一点上,我宁愿只是把它从Java显示。你有什么想法为什么它可能无法正确显示? – user650309

相关问题