在另一个背景中更改MainActivity背景图像

时间:2016-08-19 23:50:56

标签: java android android-activity background

我正在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。

1 个答案:

答案 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()内收到。