Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Como acessar a pasta drawable

 @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        Torneios torneio= torneios.get(position);

        LayoutInflater inflater = LayoutInflater.from(context);
        View view =  inflater.inflate(R.layout.list_item, null);



        TextView nomeTorneio = (TextView) view.findViewById(R.id.item_titulo);
        nomeTorneio.setText(torneio.Nome_Torneio);

        TextView nomeClube = (TextView) view.findViewById(R.id.item_subtitulo);
        nomeClube.setText(torneio.Nome_Clube);

        TextView datas = (TextView) view.findViewById(R.id.data);
        datas.setText(torneio.Inicio +" - "+ torneio.Fin);

        ImageView campoFoto = (ImageView) view.findViewById(R.id.imageView2);
        String caminhoFoto = "user_icon_blue";

       // if (torneio.id == 1){  caminhoFoto = "@drawable/jv";   }
       // else { caminhoFoto = "@drawable/user_icon_blue"; }

        Bitmap bitmap = BitmapFactory.decodeFile(caminhoFoto);
        Bitmap bitmapReduzido = Bitmap.createScaledBitmap(bitmap, 100,100, true);
        campoFoto.setImageBitmap(bitmapReduzido);
        campoFoto.setScaleType(ImageView.ScaleType.FIT_XY);


        return view;
    }

Esse código está me retornado uma exeption, pois tenho dentro da pasta drawable um arquivo .png com o nome: "user_icon_blue"

Como faço para acessa-lo sem dar essa exception de caminho null

E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: user_icon_blue: open failed: ENOENT (No such file or directory)

Process: exemplo.com.br.exemplo, PID: 32401 java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference

3 respostas

Oi Gabriel tudo bem ?

Então cara, você está usando o BitmapFactory para decodificar um arquivo, e como você passou uma String ele vai tentar procurar esse caminho, mas como não encontra o resultado é null.

Para você conseguir decodificar um arquivo que está na pasta res, teremos que usar outro método BitmapFactory.decodeResource()

Que precisa de passar um Resource e a referência do xml atráves da classe R.

BitmapFactory.decodeResource(getResources(), R.drawable.seu_item);

Espero ter ajudado.

Abraços

solução!
 @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        Torneios torneio= torneios.get(position);

        LayoutInflater inflater = LayoutInflater.from(context);
        View view =  inflater.inflate(R.layout.list_item, null);



        TextView nomeTorneio = (TextView) view.findViewById(R.id.item_titulo);
        nomeTorneio.setText(torneio.Nome_Torneio);

        TextView nomeClube = (TextView) view.findViewById(R.id.item_subtitulo);
        nomeClube.setText(torneio.Nome_Clube);

        TextView datas = (TextView) view.findViewById(R.id.data);
        datas.setText(torneio.Inicio +" - "+ torneio.Fin);

        ImageView campoFoto = (ImageView) view.findViewById(R.id.imageView2);
        String caminhoFoto = "user_icon_blue";

       // if (torneio.id == 1){  caminhoFoto = "@drawable/jv";   }
       // else { caminhoFoto = "@drawable/user_icon_blue"; }

        Bitmap bitmap = BitmapFactory.decodeResource(view.getResources() , R.drawable.jv);
        Bitmap bitmapReduzido = Bitmap.createScaledBitmap(bitmap, 100,100, true);
        campoFoto.setImageBitmap(bitmapReduzido);
        campoFoto.setScaleType(ImageView.ScaleType.FIT_XY);



        return view;
    }

agora ficou correto

Obrigado

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software