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

标签 java android

所以我正在制作一个 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/

相关文章:

java - 如何获取除一个目录之外的所有目录的列表?

Java 浮点精度问题

java - 使用 java 将 RSA 公钥导出到 PEM 字符串

android - 应用程序错误 : This version of the application is not configured for Market Billing

java - 在 Java 中使用循环的数字模式

java - 使用反射创建新对象?

java - 使用 Java 而不是 bootstrap.yml 通过 Eureka 进行 Spring Cloud Config Server 查找

android - 无法解析 : com. android.support :support-v7:27. 1.1

android - 如何以数学方式计算 Android 屏幕纵横比

android - ClusterManager setOnCameraIdleListener