2013-12-11 29 views
1

我创建了一个类,我希望它的方法只能从一个特定的线程调用,例如,ui线程。 这与android网络api发生的情况完全相反......它从ui-thread调用时会引发异常。 我怎么能在android中做到这一点? thanx强制从UI线程调用类方法

回答

-3

那么,你甚至可以在你的课堂上做到这一点。 只是,获取调用者活动的上下文。在该方法中,请执行context.runOnUIThread()

+0

Thanx,但我的意思是强制呼叫者在ui线程,并抛出一个例外,否则... thanx! –

1

将此代码放入您的类方法中。

if(!"UI thread".equals(Thread.currentThread().getName())){ 
    throw new IllegalStateException("wrong thread running this class, thread name:"+Thread.currentThread().getName()); 
    } 
+0

!该代码看起来非常有前途 –

0

此行为是MFC是如何工作的:

一个MFC窗口类有许多方法不执行什么是从他们预期的,相反他们发送或发布消息队列的GUI /主线程侦听。

因此,您需要使用现有的跨线程消息机制或创建自己的。

相关问题