gpt4 book ai didi

java - 如何在扩展 View 的类中设置 ContentView? (安卓、 java )

转载 作者:行者123 更新时间:2023-11-30 02:05:17 26 4
gpt4 key购买 nike

所以我正在制作一个 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","");

假设您要初始化的值是之前玩过的用户的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");
}
}
}

希望对您有所帮助!

关于java - 如何在扩展 View 的类中设置 ContentView? (安卓、 java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30769366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com