我正在尝试在android studio中创建我的第一个应用程序,在主屏幕上有三个勾选框,询问用户他们想要的骰子数量。我有一个名为sides的变量,根据用户勾选的复选框,设置为6,8或12。我想在第二个活动上使用变量“sides”,这样它就可以用来生成一个和任何“边”设置的随机整数。
答案 0 :(得分:1)
在第一个活动中假设您有按钮GO。当您单击按钮GO时,它应该启动第二个活动,例如Activity2。 将以下代码添加到GO按钮的onClick
Intent act2=new Intent(this,Activity2.class);//"this" is activity reference
act2.putExtra("key",value);
startActivity(act2);
现在,在Activity2的onCreate方法中,您可以按如下方式检索键的值:
Int key=getIntent().getIntExtra("key",0);//0 is default value
以与上述相同的方式,您可以将“side”变量的值传递给下一个活动
答案 1 :(得分:0)
您也可以将其保存在内部存储中并在需要时加载它,这非常有用,因为这样您可以在每个活动和所需的每个类中加载它。
你可以学习here的方法。
我建议看三个部分。
答案 2 :(得分:0)
您可以使用SharedPreferences,
要获取共享首选项,请在您的活动中使用以下方法:
SharedPreferences prefs = this.getSharedPreferences(
"com.example.app", Context.MODE_PRIVATE);
阅读偏好:
String dateTimeKey = "com.example.app.datetime";
// use a default value using new Date()
long l = prefs.getLong(dateTimeKey, new Date().getTime());
编辑和保存偏好
Date dt = getSomeDate();
prefs.edit().putLong(dateTimeKey, dt.getTime()).apply();
android sdk的示例目录包含检索和存储共享首选项的示例。它位于:
<android-sdk-home>/samples/android-<platformversion>/ApiDemos directory
答案 3 :(得分:0)
最简单的方法是使用单例类。
public class DataHolder {
public int sides = 0;
private static DataHolder dataHolder = new DataHolder();
public static DataHolder getInstance()
{
return dataHolder;
}
}
DataHolder.getInstance().sides=sideInActivityA;
您可以使用以下方式访问变量
int sideInActivityB = DataHolder.getInstance().sides;
答案 4 :(得分:-1)
这可以通过静态全局变量或可以通过继承类访问的公共变量来完成。但是,导入全局静态类也是一样的。