如何在从layout:main.xml初始化的类中调用startActivityForResult

时间:2010-11-21 18:52:00

标签: android android-activity

这与“如何从新旧数据中检索数据”这个问题相同。

但在我的第一个活动中,我打电话给setContentView(R.layout.main);。画布上有一个surfaceview图。

我知道的唯一方法是调用getContext()来获取上下文,然后调用startActivity()。但我不能从我得到的上下文中调用startActivityForResult(),似乎它不支持,我只需要在我的活动类中调用它。

任何人都可以给我任何意见吗?

编辑:

这是我的代码:

public class gameView extends SurfaceView implements SurfaceHolder.Callback
{
    public gameView(Context context, AttributeSet attrs)
    {
        //This is how I do : 
        Intent intent = new Intent();
        intent.setClass(getContext(), inputCharactorName.class);
        getContext().startActivity(intent);
        //This what I WANT to , but I don't know how
        //Activity.startActivityForResult(null,FPS);
        //I want to start the activity here;
    }
}

2 个答案:

答案 0 :(得分:7)

如果您完全确定getContext()是Activity的实例,那么您可以这样做:

((Activity)getContext()).startActivityForResult(intent, 0);

答案 1 :(得分:2)

  

任何人都可以给我任何意见吗?

从您的活动中致电startActivityForResult()。让您的SurfaceView或任何来自您的活动的方法调用触发对startActivityForResult()的调用。