从mainActivity我试图访问名为Game_Mode的intent中的全局变量。但我收到的错误告诉我它不存在。
if(player==1){
startActivity(Game_Mode);
type=Game_Mode.type;}
这是在MainActivity
中Intent Game_Mode = new Intent(this, Game_Mode.class);
Intent two_three = new Intent(this, Two_three.class);
player = game.connect("sslab02.cs.purdue.edu", 5432);
player=1;
if(player==1){
startActivity(Game_Mode);
type=Game_Mode.type;
这是在Game_Mode
中public class Game_Mode extends ActionBarActivity {
int mode = 1;
int size = 1;
static int type = 0;
答案 0 :(得分:0)
static int type = 0;
type
不公开,只有package-level
,因此请使用public
关键字public
。
public static int type = 0;
无论如何,这里的问题都在这个代码块中
Intent Game_Mode = new Intent(this, Game_Mode.class);
Intent two_three = new Intent(this, Two_three.class);
player = game.connect("sslab02.cs.purdue.edu", 5432);
player=1;
if(player==1){
startActivity(Game_Mode);
type=Game_Mode.type;
您有一个名为intent
的{{1}}变量(该类的名称相同),因此当您执行Game_Mode
时,它会检查Game_Mode.type
类中的字段不在你的班。修复它的最好方法是简单地将其重命名为其他内容:
Intent
遵循关于名称的Java约定。
无论如何,如果您需要在Activity之间传递数据,则应使用Intent gameMode = new Intent(this, Game_Mode.class);
Intent two_Three = new Intent(this, Two_three.class);// here too you could call it twoThree
player = game.connect("sslab02.cs.purdue.edu", 5432);
player=1;
if(player==1){
startActivity(gameMode);
type=Game_Mode.type;
。
答案 1 :(得分:0)
老实说,我建议使用SharedPreferences来存储和检索应用程序级变量,因为它们非常安全可靠。
答案 2 :(得分:0)
Game_Mode是一个类,您已经在类的名称中创建了一个intent。
Intent Game_Mode = new Intent(this, Game_Mode.class);
请专注于那个。