源程序是这样的
public class BitmapTest extends Activity
{
String[] images = null;
AssetManager assets = null;
int currentImg = 0;
ImageView image;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
image = (ImageView)findViewById(R.id.image);
try
{
assets = getAssets();
//获取/assets/目录下所有文件
images = assets.list("");
}
catch (IOException e)
{
e.printStackTrace();
}
//获取bn按钮
final Button next = (Button)findViewById(R.id.next);
//为bn按钮绑定事件监听器,该监听器将会查看下一张图片
next.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View sources)
{
InputStream assetFile = null;
try
{
//打开指定资源对应的输入流
assetFile = assets
.open(images[currentImg]);
currentImg++;
}
catch (IOException e)
{
e.printStackTrace();
}
BitmapDrawable bitmapDrawable = (BitmapDrawable) image
.getDrawable();
//如果图片还未回收,先强制回收该图片
//改变ImageView显示的图片
image.setImageBitmap(BitmapFactory.decodeStream(assetFile)); //②
if (bitmapDrawable != null
&& !bitmapDrawable.getBitmap().isRecycled()) //①
{
bitmapDrawable.getBitmap().recycle();
}
}
});
}
}这个程序是只有一个按钮,点这个按钮显示一张图片,一共5张,当我点到第三张时候,出现错误。
03-13 09:33:35.321: W/System.err(178): java.io.FileNotFoundException: images
03-13 09:33:35.331: W/System.err(178): at android.content.res.AssetManager.openAsset(Native Method)
03-13 09:33:35.343: W/System.err(178): at android.content.res.AssetManager.open(AssetManager.java:301)
03-13 09:33:35.343: W/System.err(178): at android.content.res.AssetManager.open(AssetManager.java:275)
03-13 09:33:35.343: W/System.err(178): at org.crazyit.image.BitmapTest$1.onClick(BitmapTest.java:62)
03-13 09:33:35.343: W/System.err(178): at android.view.View.performClick(View.java:2344)
03-13 09:33:35.343: W/System.err(178): at android.view.View.onTouchEvent(View.java:4133)
03-13 09:33:35.352: W/System.err(178): at android.widget.TextView.onTouchEvent(TextView.java:6510)
03-13 09:33:35.361: W/System.err(178): at android.view.View.dispatchTouchEvent(View.java:3672)
03-13 09:33:35.361: W/System.err(178): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
03-13 09:33:35.361: W/System.err(178): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
03-13 09:33:35.361: W/System.err(178): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
03-13 09:33:35.361: W/System.err(178): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
03-13 09:33:35.361: W/System.err(178): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1712)
03-13 09:33:35.382: W/System.err(178): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1202)
03-13 09:33:35.392: W/System.err(178): at android.app.Activity.dispatchTouchEvent(Activity.java:1987)
03-13 09:33:35.392: W/System.err(178): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1696)
03-13 09:33:35.392: W/System.err(178): at android.view.ViewRoot.handleMessage(ViewRoot.java:1658)
03-13 09:33:35.392: W/System.err(178): at android.os.Handler.dispatchMessage(Handler.java:99)
03-13 09:33:35.392: W/System.err(178): at android.os.Looper.loop(Looper.java:123)
03-13 09:33:35.392: W/System.err(178): at android.app.ActivityThread.main(ActivityThread.java:4203)
03-13 09:33:35.401: W/System.err(178): at java.lang.reflect.Method.invokeNative(Native Method)
03-13 09:33:35.401: W/System.err(178): at java.lang.reflect.Method.invoke(Method.java:521)
03-13 09:33:35.401: W/System.err(178): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
03-13 09:33:35.401: W/System.err(178): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
03-13 09:33:35.401: W/System.err(178): at dalvik.system.NativeStart.main(Native Method)
public class BitmapTest extends Activity
{
String[] images = null;
AssetManager assets = null;
int currentImg = 0;
ImageView image;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
image = (ImageView)findViewById(R.id.image);
try
{
assets = getAssets();
//获取/assets/目录下所有文件
images = assets.list("");
}
catch (IOException e)
{
e.printStackTrace();
}
//获取bn按钮
final Button next = (Button)findViewById(R.id.next);
//为bn按钮绑定事件监听器,该监听器将会查看下一张图片
next.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View sources)
{
InputStream assetFile = null;
try
{
//打开指定资源对应的输入流
assetFile = assets
.open(images[currentImg]);
currentImg++;
}
catch (IOException e)
{
e.printStackTrace();
}
BitmapDrawable bitmapDrawable = (BitmapDrawable) image
.getDrawable();
//如果图片还未回收,先强制回收该图片
//改变ImageView显示的图片
image.setImageBitmap(BitmapFactory.decodeStream(assetFile)); //②
if (bitmapDrawable != null
&& !bitmapDrawable.getBitmap().isRecycled()) //①
{
bitmapDrawable.getBitmap().recycle();
}
}
});
}
}这个程序是只有一个按钮,点这个按钮显示一张图片,一共5张,当我点到第三张时候,出现错误。
03-13 09:33:35.321: W/System.err(178): java.io.FileNotFoundException: images
03-13 09:33:35.331: W/System.err(178): at android.content.res.AssetManager.openAsset(Native Method)
03-13 09:33:35.343: W/System.err(178): at android.content.res.AssetManager.open(AssetManager.java:301)
03-13 09:33:35.343: W/System.err(178): at android.content.res.AssetManager.open(AssetManager.java:275)
03-13 09:33:35.343: W/System.err(178): at org.crazyit.image.BitmapTest$1.onClick(BitmapTest.java:62)
03-13 09:33:35.343: W/System.err(178): at android.view.View.performClick(View.java:2344)
03-13 09:33:35.343: W/System.err(178): at android.view.View.onTouchEvent(View.java:4133)
03-13 09:33:35.352: W/System.err(178): at android.widget.TextView.onTouchEvent(TextView.java:6510)
03-13 09:33:35.361: W/System.err(178): at android.view.View.dispatchTouchEvent(View.java:3672)
03-13 09:33:35.361: W/System.err(178): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
03-13 09:33:35.361: W/System.err(178): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
03-13 09:33:35.361: W/System.err(178): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
03-13 09:33:35.361: W/System.err(178): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
03-13 09:33:35.361: W/System.err(178): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1712)
03-13 09:33:35.382: W/System.err(178): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1202)
03-13 09:33:35.392: W/System.err(178): at android.app.Activity.dispatchTouchEvent(Activity.java:1987)
03-13 09:33:35.392: W/System.err(178): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1696)
03-13 09:33:35.392: W/System.err(178): at android.view.ViewRoot.handleMessage(ViewRoot.java:1658)
03-13 09:33:35.392: W/System.err(178): at android.os.Handler.dispatchMessage(Handler.java:99)
03-13 09:33:35.392: W/System.err(178): at android.os.Looper.loop(Looper.java:123)
03-13 09:33:35.392: W/System.err(178): at android.app.ActivityThread.main(ActivityThread.java:4203)
03-13 09:33:35.401: W/System.err(178): at java.lang.reflect.Method.invokeNative(Native Method)
03-13 09:33:35.401: W/System.err(178): at java.lang.reflect.Method.invoke(Method.java:521)
03-13 09:33:35.401: W/System.err(178): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
03-13 09:33:35.401: W/System.err(178): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
03-13 09:33:35.401: W/System.err(178): at dalvik.system.NativeStart.main(Native Method)
解决方案 »
- 求助 android监听事件 实现代码监听鼠标的左键,中间键,右键
- EditText输入的时候替换已有的数据
- 如何隐藏gridView的滚动条
- android source not found问题
- SimpleCursorAdapter的构造函数被声明为废除,不能用了吗?那该用什么代替呢
- 请教JNI编程中C调用Java实现中NullPointerException问题
- 求一个安卓网络开发的例子
- android EdiText文本滑动
- 求大神帮我解答,android用红外,怎么遥控设备
- 多个组件共用一套广播的问题
- Android 实现静音的几种技术?
- android edittext 如何设置行距不影响光标高度
.open(images[currentImg]);这句有错。。