Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中按菜单项更改背景图像_Android - Fatal编程技术网

在android中按菜单项更改背景图像

在android中按菜单项更改背景图像,android,Android,我正在用android创建一个简单的记事本应用程序,在选项菜单中我有一个菜单项“更改背景”,当用户点击它时,我只想更改背景图像[例如,我想将我的背景图像从efil tower更改为tajmahal],我有10个可绘制的图像..如何在每次用户点击“更改背景”选项。谢谢。您可以发布一些代码吗?提供您迄今为止尝试过的代码或方法吗?我在pastebin.com中发布代码我的活动和布局错误是,此行有多个标记-图像无法解析或不是字段-randInt无法解析为变量-标记上的语法错误“,", . 应为-语法错误

我正在用android创建一个简单的记事本应用程序,在选项菜单中我有一个菜单项“更改背景”,当用户点击它时,我只想更改背景图像[例如,我想将我的背景图像从efil tower更改为tajmahal],我有10个可绘制的图像..如何在每次用户点击“更改背景”选项。谢谢。

您可以发布一些代码吗?提供您迄今为止尝试过的代码或方法吗?我在pastebin.com中发布代码我的活动和布局错误是,此行有多个标记-图像无法解析或不是字段-randInt无法解析为变量-标记上的语法错误“,", . 应为-语法错误,插入“)”以完成表达式-当我尝试此代码“backLayout.setBackgroundResource(getResources().getDrawable(images[randInt[0,images[].length]]”时,类型视图中的方法setBackgroundResource(int)不适用于参数(Drawable);“。。括号中显示红色下划线。我已编辑答案。。你只需要添加一个缺少的“)”括号。尝试更改后的答案OK,现在错误消失了,但我无法添加返回true;在break语句之后。再次编辑..试试..你对android和Java是新手吗?
int images[] = {R.drawable.eifel,R.drawable.tajmahal};
LinearLayout backLayout;

onCreate(Bundle savedInstanceState) {
   backLayout = (LinearLayout) findViewById(R.id.mybackgroundlayout);
}

private void changeBackground(){
 backLayout.setBackgroundResource(images[randInt(0,images.length-1)]);
}

public static int randInt(int min, int max) {
 Random rand = new Random();
 int randomNum = rand.nextInt((max - min) + 1) + min;
 return randomNum;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.changebackground:
        changeBackground();
        break;
    }
    return true;
}