为什么我们不能只调用new Activity()

时间:2013-08-08 02:11:34

标签: android android-activity

所以,有点像菜鸟的情况,但今天,出于好奇,我尝试做了类似的事情:

new Activity().runOnUiThread( new Runnable{...})

主要是因为我实际上无法访问任何活动(在第三方库上工作)。我只有applicationContext,我认为不允许我进行runOnUiThread调用。

所以我想我有点想知道是否有办法以某种方式假冒微创活动,这样我就可以在UI线程上运行某些东西(或做其他事情,比如弹出对话框......等等) 。)??

如果没有,是否有人知道只是制作new Activity()有什么问题? (我的意思是,除了事实之外,是的,我会得到一个空指针,因为我没有设置我的基本上下文,因为活动的onCreate从未被调用过)。如果可能的话,我想接受一个可以提供更多细节和更多“背景”的答案(没有双关语)

2 个答案:

答案 0 :(得分:4)

new Handler(context.getMainLooper()).post(new Runnable()
{
    @Override
    public void run()
    {
    }
});

答案 1 :(得分:1)

活动由Android操作系统管理,并不打算以这种方式使用,这样做意味着违反API合约,所以不要指望它的行为正确。

如果你想显示一些对话框,只需创建一个透明背景的活动,对用户来说它就像在另一个屏幕上浮动的单个对话框一样。