所以我正在制作一个 Android 应用程序,当您打开该应用程序时,您会从主要 Activity 开始。一旦你点击了播放按钮,我就制作了一个 onclick 监听器,它将内容 View 设置为另一个扩展 View 的类。游戏通过在 Canvas 上绘图在这个类中继续进行。一旦用户输掉游戏,我希望它将内容 View 重置为我的主要 Activity 。有什么办法吗?对不起,如果这令人困惑,我对 java 还很陌生。任何帮助将不胜感激。谢谢!
最佳答案
如果你想从 MainActivity
向另一个类发送信息,并在返回后初始化它,你可以使用 startActivityForResult()
,如下所示:
startActivityForResult(new Intent("Example"), 1);
您必须在 Manifest
文件中声明您的 Intent "Example"
:
<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>
因此,当用户输掉游戏时,您使用 setResult
函数(来自 ExecuteExample
)再次将新信息检索到 MainActivity
:
setResult(RESULT_OK, example);
其中 example
是您现在发送到 MainActivity
的 Intent 的名称。如何为这个新的 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");
}
}
}
希望对您有所帮助!
关于java - 如何在扩展 View 的类中设置 ContentView? (安卓、 java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30769366/