2016-04-23 7 views
1

ゲーム内のTextViewにスコアを表示しようとしています。ゲーム中にスコアが上がりますが、onCreate()メソッドでスコアを上げることはできません。アダプターまたはリスナーを使用する必要がありますか?そしてどうやって?ゲーム中にMainActivityのTextViewにスコアを表示する

+0

インターフェイスを1つのメソッド(例: 'onScoreChange')で作成できます。アクティビティでこのインタフェースを実装して、textViewを更新します。スコアが変わるたびに、それを実装しているクラスを呼び出すだけです。 – Arijoon

答えて

0

でハンドラを呼び出すかをスコア表示する準備が整いました。

私は(ゲームは新しいスコアをキャッチするたびにこの1つは https://github.com/greenrobot/EventBus

多くは、それがスコアイベントを発行し、(あなたの活動のような)、それに登録されているすべてのオブジェクトがイベントを取得し、それのデータを更新使用

この場合のUI)。

0

私はよくあなたの質問を理解してdid'ntが、私は、あなたのスコアは

//so you can use an handler and a runnable to update textView each 1000ms 
private TextView yourTextView 
private mHandler = new Handler(); 
private Runnable = new Runnable() { 
    @override 
    public void run() { 
      // Check first if the reference to your textView is available 
     if(yourTextView !=null) { 
      // Get your score some how 
      yourTextView.setText(myScore); 
      } 
     mHandler.postDelayed(this,1000); 
    } 

}を保存していると思います。

そして、あなたのコード内であなたが あなたの活動は、カスタムリスナを実装し、あなたのゲームに自身を登録し、またはイベントバスを使用するか

mHandler.posDelayed(mRunnable,100); // Shorter delay for instant trigger 
+0

実際には、私は毎回更新スコアtextview各1000ミリメートルをしたい、私は、たとえば、プレーヤーが移動するときに変更するたびにスコアを更新したい。 @ thunder413 –

関連する問題