我正在开发一个使用表面视图来表示UI图形的Android游戏。如果用户触摸特定区域,我需要实施一种方法来启动另一项活动。 为此,我将主要(前景)活动的当前实例传递到表面视图如何从非UI线程开始活动(从表面视图绘制线程)
我可以轻松处理触摸,但无法从接收的实例启动活动。
**>如果我打电话startActivity从
当前活动例外的接收实例方法发生,指出其与非 UI线程**
我是一个呼叫使用扩展到表面视图的类并传递到在其画布上绘制的线程
我正在开发一个使用表面视图来表示UI图形的Android游戏。如果用户触摸特定区域,我需要实施一种方法来启动另一项活动。 为此,我将主要(前景)活动的当前实例传递到表面视图如何从非UI线程开始活动(从表面视图绘制线程)
我可以轻松处理触摸,但无法从接收的实例启动活动。
**>如果我打电话startActivity从
当前活动例外的接收实例方法发生,指出其与非 UI线程**
我是一个呼叫使用扩展到表面视图的类并传递到在其画布上绘制的线程
SurfaceView是否在活动中? 如果是这样,使用
runOnUiThread(new Runnable() {
public void run() {
//startActivity
}
});
如果你不是你真的不应该开始其他活动的活动中..
而且SurfaceView设有驿站和postDelayed方法可以是使用上张贴的Runnable UI线程。
post(new Runnable() {
public void run() {
//startActivity
}
});
您可以使用:
// from MySurfaceView/Activity
Context context = getContext();
//EffectingActivity is another activity
Intent intent = new Intent(context, EffectingActivity.class);
context.startActivity(intent);
感谢小伙子们我想通了 我叫runOnUI从类实例,并将其完美作品 – Allahjane 2012-03-10 08:23:18