我正在Android Studio中创建一个简单的小游戏,我需要这个功能。
我有MainActivity和“Store”活动。 在商店里,我想购买MainActivity的新背景,但我希望它们在购买时能够改变。
我已经为MainActivity定义了一个id,以便轻松操作背景。
注意:如果我操作活动的Activity,则以下代码有效。例如,我可以正常更改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 :(得分:0)
利用@Override
public void onClick(TreeNode node, Object value) {
Intent i = new Intent();
i.putExtra("nodecategory","hi");
getActivity().setResult(Activity.RESULT_OK, i);
getActivity().finish();
}
和startActivityForResult()
进行onActivityResult()
活动与LojaGuina
之间的沟通。现在,当MainActivity
活动位于前景时,您正尝试更改MainActivity
的背景。
您可以使用LojaGuina
方法将LojaGuina
方法的背景资源ID传递给setResult()
。 MainActivity
将在MainActivity()
内收到。