2013-02-10 46 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

相關問題