在我的项目中,我使用Bitmap添加背景图像。当我使用第二个位图时,我的代码工作正常。一旦我膨胀第二个位图项目,在构建时开始给出R错误。 以下是我的代码:
@Override
public void surfaceCreated(SurfaceHolder holder) {
bg = new Background(BitmapFactory.decodeResource(getResources(), R.drawable.imageOne));
newbg = new AnotherClass(BitmapFactory.decodeResource(getResources(), R.drawable.imageTwo));
// thread.setRunning(true);
// thread.start();
}
我尝试过的事情:
管子破了 java.io.IOException:管道损坏 at sun.nio.ch.FileDispatcherImpl.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) 在sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) at sun.nio.ch.IOUtil.write(IOUtil.java:65) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471) 在com.android.ddmlib.JdwpPacket.write(JdwpPacket.java:179) 在com.android.ddmlib.Client.send(Client.java:654) 在com.android.ddmlib.jdwp.JdwpAgent.send(JdwpAgent.java:92) 在com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:349) 在com.android.ddmlib.Client.requestAllocationStatus(Client.java:517) 在com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:573) 在com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:545) 在com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:361) 在com.android.ddmlib.DeviceMonitor.access $ 100(DeviceMonitor.java:65) 在com.android.ddmlib.DeviceMonitor $ 1.run(DeviceMon ...
答案 0 :(得分:2)
如你所说,你的代码工作正常,直到你添加第二个,所以问题在于你的第二个位图。
如果您使用过手动转换的图像,可能会发生这种情况,例如:image.jpg转换为image.png。
解决方案:将图像名称重构为原始名称并使用它。如果要转换它,请使用图像扩展名更改工具(许多可在线获取),然后在位图中使用它。
希望它能奏效。 :)
答案 1 :(得分:0)
如果您使用的是Android Studio,请尝试Build->Clean Project
然后Build->Rebuild Project
答案 2 :(得分:0)
你应该关闭你的Android工作室或日食你正在使用的任何东西。如果没有解决您的错误,请执行adb kill-server && sleep 5 && adb devices
,然后再次启动您的工具(Eclipse / Ant / AS)。