如何在扩展View的类中设置setContentView? (Android,Java)

时间:2015-06-11 00:00:23

标签: java android

所以我正在创建一个Android应用程序,当你打开应用程序时,你从主要活动开始。点击播放按钮后,我创建了一个onclick监听器,将内容视图设置为另一个扩展View的类。通过绘制到画布,游戏继续在这个类中进行。一旦用户输掉游戏,我希望它将内容视图重置为我的主要活动。有没有办法做到这一点?对不起,如果这令人困惑,我对java很新。任何帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:1)

如果您要将信息发送到MainActivity的其他类,并在返回初始化后,您可以使用startActivityForResult(),如下所示:

startActivityForResult(new Intent("Example"), 1);

您必须在"Example"文件中声明您的意图Manifest

<activity
    android:name=".ExecuteExample" //Here the name of the Class in which you send the information
    android:label="Example" > 

       <intent-filter>
            <action android:name="Example" />
            <category android:name="android.intent.category.DEFAULT" />
       </intent-filter>
</activity>

因此,当用户输掉游戏时,您会再次使用MainActivity功能(来自setResult)检索新信息到ExecuteExample

setResult(RESULT_OK, example);

其中example是您现在发送给MainActivity的意图的名称。如何设置这个新Intent的信息?简单,只需.putExtra()功能。像这样:

example.putExtra("Score",0);
example.putExtra("Name","");

假设您要初始化的值是之前玩过的用户的ScoreName

最后,您必须检索从MainActivity类初始化的信息,从而创建新方法onActivityResult()

public void onActivityResult(int requestCode, int resultCode, Intent data)
{
   if (requestCode == 1)
   {
      if(resultCode == RESULT_OK) 
      {

         int score = data.getIntExtra("Score");
         String name = datos.getStringExtra("Name");
      }
   }
}

我希望它会对你有所帮助!

答案 1 :(得分:0)

您是否尝试加载活动?您可以尝试使用以下代码:

Intent intent = new Intent(this, MainActivity.class);