我已经创建了一个自己的看法:安卓:自己的视图添加到LinearLayour
private class SampleView extends View {
,我想“植物”这一说法成的LinearLayout,我在XML文件中创建的。 我该怎么做?有人能帮我吗?
我已经创建了一个自己的看法:安卓:自己的视图添加到LinearLayour
private class SampleView extends View {
,我想“植物”这一说法成的LinearLayout,我在XML文件中创建的。 我该怎么做?有人能帮我吗?
尝试添加自定义View
这样的:
<view
class="test.project.app.Compass$SampleView"
//... other attributes
/>
您的自定义View
类必须是public
和static
上面的代码工作。 另一种选择是将SampleView
放在其自己的文件中,并简单地使用上述答案中的代码。
在布局文件中添加
<LinearLayout >
<com.yourpackagename.SampleView />
<LinearLayout>
或
LinearLayout lLayout = (LinearLayout)findViewById(R.id.linearlayout);
lLayout.addView(new SampleView());
只需使用您的自定义视图类的完全限定名
<LinearLayout ...>
<your.package.SampleView
android:layout_width=".."
android:layout_height=".."
..
>
</your.package.SampleView >
..
</LinearLayout>
但是,删除 “私有”从你的类定义中,如果它嵌套类添加static。
不能使用内部类在这一点上
我试过了,但它给了我例外:java.lang.RuntimeException:无法启动活动ComponentInfo {test.project.app/test.project.app.Compass}:android.view.InflateException:二进制XML文件行#14:错误膨胀类test.project.app.Compass.SampleView – user934779
我在我的Compass.java类中声明SampleView – user934779
请发布您的当前代码和完整的异常日志。照顾嵌套类,必须是静态的 –