Pergunta

Quero colocar uma imagem em segundo plano no arquivo java de maio de uma imagem armazenada no SDCARD. Eu uso o código abaixo, mas sem sucesso:/

       TableLayout tl=new TableLayout(this);
       int tmp = this.getResources().getIdentifier("sdcard/pic.png", "drawable", getPackageName());
       tl.setBackgroundResource(tmp);

uma ideia ?

Foi útil?

Solução

Você não pode obter o arquivo do cartão SD como recursos. Os recursos são incluídos apenas com APK. Você precisa criar um desenho a partir de um arquivo no SDCARD e usar isso:

tl.setBackgroundDrawable(Drawable.createFromPath(new File(Environment.getExternalStorageDirectory(), "pic.png").getAbsolutePath()));

Além disso, você deve pedir permissão para acessar o cartão SD, adicione no Manifest:

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top