所以我正在创建一个Android应用程序,当你打开应用程序时,你从主要活动开始。点击播放按钮后,我创建了一个onclick监听器,将内容视图设置为另一个扩展View的类。通过绘制到画布,游戏继续在这个类中进行。一旦用户输掉游戏,我希望它将内容视图重置为我的主要活动。有没有办法做到这一点?对不起,如果这令人困惑,我对java很新。任何帮助将不胜感激。谢谢!
答案 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","");
假设您要初始化的值是之前玩过的用户的Score
和Name
。
最后,您必须检索从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);