Android:从其他类设置变量

时间:2012-03-12 01:24:00

标签: android

我一直试图找到一种方法来为一个类设置变量,而在另一个类中改变意图。也许我正在寻找错误的东西,也许我已经过度复杂了,我不知道。

基本上,我现在正在做的是获取所选的listView项,检查其索引值,并根据选择来修改一个或两个变量(来自不同的类)。

public void onItemClick(AdapterView<?> parent, View v, int position, long id){
            theGame settings = null;
            switch(position){
                case 0:
                    settings.baseWave = 10;
                    settings.baseRate = 5;
                    break;
                case 1:
                    settings.baseWave = 20;
                    settings.baseRate = 10;
                    break;
                case 2:
                    settings.baseWave = 30;
                    settings.baseRate = 15;
                    break;
            }
        }

“theGame”是我的外部类,“baseWave”和“baseRate”是相应的varriables。显然,我在这里所做的并不适合我。我是相当新的,所以要温柔。

感谢您提供任何帮助,非常感谢:)

〜TG

1 个答案:

答案 0 :(得分:2)

很高兴让你觉得你可能有一个糟糕的设计,但它也应该让你觉得你不懂Java,因为你不了解Java而遇到这个问题,而且好的Java书可以帮到你。

嗯,这是让你的工作尝试工作的最短路径:让游戏在静态成员中存储对自身的引用;在代码中使用静态成员。

即,

class TheGame {
  public static TheGame theGame = null;
  TheGame() {
    theGame = this;
  }
}

其他地方:TheGame.theGame.baseWave = 10 * (position + 1);

或者您可能需要这样:

public class TheGame extends Activity {
  public static TheGame theGame = null;

  @Override
  public void onCreate(Bundle bundle) {
    super.onCreate(bundle);
    theGame = this;
  }
}

一本好的Java书会向你描述这种事情,给你一个名字,然后警告你远离它。