0
可能重复:
Android: Display Image from SD CARDAndroid:如何:从SD卡显示图像?
这里是我当前的代码:
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.LayoutParams;
public class DisplayImageMapActivity extends Activity {
ImageView iv;
private final String FLOOR = "F";
private final String storagePath = Environment.getExternalStorageDirectory() + "/AppH23";
private final String localMapsPath = storagePath + "/localMaps";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
iv=(ImageView)findViewById(R.id.storageimage);
RadioGroup levelRGroup = (RadioGroup) findViewById(R.id.level_rgroup);
int levelSize = 8;
for (int i = 0; i < levelSize; i++) {
RadioButton levelRButton = new RadioButton(this);
if(i==0) {
levelRButton.setText(new StringBuffer(i+1).append(FLOOR).append("(start)"));
} else if (i==7) {
levelRButton.setText(new StringBuffer(i+1).append(FLOOR).append("(end)"));
}
levelRButton.setTag((i+1) + FLOOR);
levelRButton.setLayoutParams(
new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1));
levelRGroup.addView(levelRButton);
}
levelRGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup group, final int checkedId) {
iv.setImageURI(Uri.parse(new StringBuffer(localMapsPath)
.append("/").append(group.findViewById(checkedId).getTag()).append(".gif").toString()));
iv.invalidate();
}
});
levelRGroup.getChildAt(0).performClick();
}
}
这里是我的环境: 一)2.1 UPDATE1
它有点儿奇怪,我的图片来自/ sdcard /AppH23/localMaps/???.gif不显示。 确认所有gif文件已存在。
更新: 这是我以前的帖子,你可能会确认gif图像是前一段时间显示的。 gif image displayed
有什么错误? –
'新的RadioButton(this);'创建这样的对象会导致内存泄漏! [见](http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html) – Vikas
我前段时间试过这段代码,然后成功显示了图像。但现在,有点奇怪。 @CapDroid没有任何错误。 – eros