[英]How do I setContentView in a class that extends View? (Android, Java)
因此,我正在制作一个android应用程序,当您打开该应用程序时,您将从主要活动开始。 按下播放按钮后,我创建了一个onclick侦听器,用于将内容视图设置为扩展View的另一个类。 通过在画布上绘画,该类游戏继续进行。 一旦用户输了游戏,我希望它将内容视图重置为我的主要活动。 有什么办法吗? 抱歉,如果这令人困惑,我对Java还是陌生的。 任何帮助将不胜感激。 谢谢!
如果要将信息从MainActivity
发送到另一个类,并在将其初始化后返回信息,则可以使用startActivityForResult()
,如下所示:
startActivityForResult(new Intent("Example"), 1);
您必须在Manifest
文件中声明意图"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? 只需使用.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");
}
}
}
希望对您有帮助!
您是否要加载活动? 您可以尝试以下代码:
Intent intent = new Intent(this, MainActivity.class);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.