2016-08-19 24 views
0

Androidスタジオで簡単な小さなゲームを作成しています。この機能が必要です。MainActivity背景画像を別の背景に変更する

私はMainActivityと "Store"アクティビティを持っています。 店内では、私はMainActivityに新しい背景を購入したいと思っていますが、私が購入したときにそれらを変更したいのです。

私はすでにバックグラウンドを簡単に操作するためにMainActivityにIDを定義しました。

注:次のコードは、アクティブなアクティビティを操作する場合に機能します。例えば、私はStore BGを通常通りに変更することができます(それはオープンなものです)が、Mainを変更しようとするとクラッシュします!

店舗コードをご覧ください。

public class LojaGuina extends Activity { 

    public Button changeBgButton; 
    public static RelativeLayout manipulaLayout; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_loja_guina); 

     changeBgButton = (Button) findViewById(R.id.botaoBgs); 
     manipulaLayout = (RelativeLayout) findViewById(R.id.idMain); 

     changeBgButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       manipulaLayout.setBackgroundResource(R.drawable.temajail2); 
      } 
     }); 
    } 
} 

idMainは、MainActivityのIDです。

答えて

0

LojaGuinaからMainActivityへの通信には、startActivityForResult()onActivityResult()を使用してください。現在、LojaGuinaアクティビティがフォアグラウンドにあるときに、あなたのMainActivityの背景を変更しようとしています。

LojaGuinaからsetResult()メソッドを使用して、MainActivityにバックグラウンドのリソースIDを渡すことができます。 MainActivity()onActivityResultMethod()の中に届きます。