2016-08-19 1 views
0

Android Studio에서 간단한 게임을 만들고 있는데이 기능이 필요합니다.MainActivity 백그라운드 이미지를 다른 백그라운드에서 변경하십시오.

본인은 MainActivity 및 "Store"활동을 보유하고 있습니다. 매장에서 MainActivity에 새로운 배경을 사고 싶지만 구매할 때 변경해야합니다.

나는 배경을 쉽게 조작하기 위해 MainActivity에 이미 id를 정의했다.

참고 : 다음 코드는 활성 활동을 조작 할 때 작동합니다. 예를 들어, 매장 BG를 정상적으로 변경할 수 있지만 (열려있는 것이기 때문에), 메인을 변경하려고하면 충돌이 발생합니다!

스토어 코드를 살펴보십시오.

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의 배경을 변경하려고합니다.

배경의 자원 ID는 LojaGuina에서 setResult() 방법을 사용하여 MainActivity으로 전달할 수 있습니다. MainActivity()onActivityResultMethod() 안에 있습니다.

관련 문제