【发布时间】:2014-06-26 15:18:24
【问题描述】:
我在登录屏幕上设置了一个背景,我想在每次从我的 drawables 文件夹中的一堆图像加载应用程序时随机设置背景。但是,每次尝试编写代码来执行此操作时,我的应用都会崩溃。
我在 layout/strings.xml 中定义了我的数组:
<?xml version="1.0" encoding="utf-8"?>
<string name="app_name">MyFSU</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<style name="DefaultButtonText">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#979797</item>
<item name="android:gravity">center</item>
<item name="android:layout_margin">3dp</item>
<item name="android:textStyle">normal</item>
<item name="android:textSize">20sp</item>
<item name="android:shadowColor">#f9f9f9</item>
<item name="android:shadowDx">1</item>
<item name="android:shadowDy">1</item>
<item name="android:shadowRadius">1</item>
</style>
<array name="myImages">
<item>@drawable/a</item>
<item>@drawable/b</item>
<item>@drawable/c</item>
<item>@drawable/d</item>
<item>@drawable/e</item>
</array>
然后这是我实际生成随机图像的代码:
public class MainActivity extends ActionBarActivity {
final RelativeLayout background = (RelativeLayout) findViewById(R.id.back);
Resources res = getResources();
final TypedArray myImages = res.obtainTypedArray(R.array.myImages);
final Random random = new Random();
public void backgrounds(View v) {
int randomInt = random.nextInt(myImages.length());
int drawableID = myImages.getResourceId(randomInt, -1);
background.setBackgroundResource(drawableID);
}
Logcat 在<init> 处显示空指针异常,但我不知道它在哪里或如何修复它。 :(
有人有什么建议吗?
【问题讨论】: