我正在尝试使用requestWindowFeature()
函数在列表活动上设置自定义标题视图。该方法适用于只有子类Activity
的视图,但每当我尝试使用ListActivity
子类的相同方法时,它都会出错,当我尝试以编程方式修改标题视图时,会给我一个NullPointerException。 / p>
我认为问题与requestWindowFeature()
之前需要调用setContentView()
的事实有关。因为ListActivity
负责为您设置内容视图,所以我不知道何时调用它。有没有人有什么建议?谢谢你的帮助。
答案 0 :(得分:1)
答案 1 :(得分:0)
ListActivity
不会为您调用setContentView
:您仍然需要自己动手。您的内容视图必须具有适当命名的ListView
,但您仍需要自己致电setContentView
。只需在requestWindowFeature
super.onCreate
之后拨打onCreate
,然后在setContentView
之后拨打setContentView
,您应该是金色的。
requestWindowFeature
)。
从here开始,在setContentView
的{{1}}来电之前无法拨打ListActivity
来电:它始终会在setContentView
之后立即拨打电话super.onCreate
requestWindowFeature
来电。您可以在致电super.onCreate
之前尝试拨打ListActivity
,但我怀疑这样做不会更好。
我认为您无法使用默认的{{1}}:您可能需要使用常规活动并手动执行ListView绑定。
答案 2 :(得分:0)
对于任何googlers来说,我的问题的解决方案是将ListActivity
类的源代码以及layout_content.xml文件复制到我自己的应用程序包中,并从中复制子类而不是Android {{1 } .class。然后我在这个类中添加了ListActivity
方法,我在其中设置请求窗口功能,然后然后调用onCreate()
方法。哈克?大概。作品?是的:)
答案 3 :(得分:0)
有时,requestWindowFeature()
会在super.onCreate(bundle);
调用后调用NullPointerException。另一个原因是,如果您先调用setContentView
。
super.onCreate(bundle);
次呼叫后,必须先调用{p> setContentView
和requestWindowFeature()
。