2012-07-03 3 views
0
ImageView img = new ImageView(getBaseContext()); 
img.setImageDrawable(Drawable.createFromPath(new File (newBA,"/thumbanil.png").toString())); 
LinearLayout Previews = (LinearLayout)findViewById(R.id.Previews); 
Previews.addView(img); 
img.invalidate(); 
Previews.invalidate(); 

아이디어는 LinearLayout 내부의 드로어 블에서 이미지 뷰를 만드는 것입니다.LinearLayout 내부에 ImageView 추가

하지만 작동하지 않습니다. 코드에 어떤 문제가 있습니까?

+3

'thumbanil.png'대신 'thumbnail.png'파일을 철자하면 어떻게됩니까? – Sam

+0

... 감사합니다! – geecko

답변

0

장치의 루트 파일 시스템에 thumbnail.png 파일이 있습니까? 나는 그것이 읽기 전용 파일 시스템이므로 추측하고 있습니다.

SD 카드 또는 외부 저장 위치의 루트를 알고 싶으면 getExternalStorageDirector()으로 전화 할 수 있습니다. 외부 저장소를 사용할 수 있는지 확인하려면 getExternalStorageState()을 사용할 수 있습니다. 예 :

if (Environement.getExternalStorageState().equals(Enviroment.MEDIA_MOUNTED) { 
    ImageView img = new ImageView(getBaseContext()); 
    img.setImageDrawable(Drawable.createFromPath(new File (newBA, Environment.getExternalStorageDirectory() + File.separator + "thumbanil.png").toString())); 
    LinearLayout Previews = (LinearLayout)findViewById(R.id.Previews); 
    Previews.addView(img); 
    img.invalidate(); 
    Previews.invalidate(); 
} 
+0

사실, "newBA"폴더에 thumbnail.png 파일이 있습니다. 유일한 실수는 "thumbnail.png"(thumbanil)의 철자가 틀린 것입니다. – geecko

관련 문제