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