2013-02-10 42 views

回答

0

可以将它们保存为静态成员的活动,或者他们每人有一个在他们的变化(新价值)

+0

嗯,我怎么才能通过值只有当它改变? – vulgarknight 2013-02-10 22:28:39

0

时间传递给GameView类,如果你使用,你可能会认为有关移动该逻辑sensorlistener到GameView类。不完全确定没有看你的代码。你有样品吗?

+0

我已经使用了一个传感器监听器,我想过移动它。让我尝试一下。我仍然想知道如何正确而有效地传递动态变量。 – vulgarknight 2013-02-10 22:26:43

+0

Sensorlistener是否仅用于GameView类?在主要活动中是否有任何理由? – jiiri 2013-02-10 22:31:58

+0

老实说,不,但我不知道如何在我的GameView类中实现它。大部分功能在该课程的可操作范围内并不活跃。 – vulgarknight 2013-02-10 22:38:55

0

为什么不这样做的Android方式? :)

当你实现一个触摸监听器,你做一些设置是这样的:

myView.setOnTouchlistener(this): 

这告诉视图当它触及到你回电话。以下是如何做你自己的:

定义一个接口并使用回调让该类知道值已更改。

public interface AccelerometerUpdateListener { 
    void onUpdate(int arg1, string arg2); ..<----add arguments you want to pass back 
} 

在你的活动:

public class MainActivity extends Activity implements AccelerometerUpdateListener { 

ArrayList<AccelerometerUpdateListener > listeners = new ArrayList<AccelerometerUpdateListener >(); 

... 


@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    ... 
    myGameClass.setResponseReceivedistener(this); 
    ... 
} 

public void setUpdateListener(AccelerometerUpdateListener listener){ 
    if (!listeners.contains(listener){ 
     listeners.add(listener); 
    } 
} 

public void removeUpdateListener(AccelerometerUpdateListener listener){ 
    if (listeners.contains(listener){ 
     listeners.remove(listener); 
    } 
} 

当您更新值

for (AccelerometerUpdateListener listener:listeners){ 
    listener.onUpdate(arg1, arg2); 
} 

在你接受的类:

public class MyGameClass implements AccelerometerUpdateListener { 

... 

@Override 
public void onUpdate(int arg1, string arg2){ 
    // do whatever you need to do 
} 

所有的记忆,所以请原谅错别字。

+0

我想你已经让我失去了一点点。谨慎地通过这个走过我? – vulgarknight 2013-02-11 03:48:37

相关问题