2

ギャラリーから画像を追加したいのですが、プレーヤーの作成を押すと、その画像がリストビューのプレーヤー名の横に追加されます。

現在、私のコードはドローアブルから画像を取得しており、これらの画像は型付き配列内でアクセスされています。

ギャラリーから画像を取得してリストビューに表示するようにコードを変更して実装するにはどうすればよいですか?

どんな助けでも大歓迎です!ありがとうございました

私のカスタムアダプターのコードは次のとおりです。

 public class PlayerImageAdapter extends ArrayAdapter<Player> {

        private LayoutInflater mInflater;

            private ArrayList<Player> players;
            private TypedArray mIcons;

            private int mViewResourceId;

            public PlayerImageAdapter(Context ctx, int viewResourceId,
                    ArrayList<Player> players, TypedArray icons) {
                super(ctx, viewResourceId, players);

                mInflater = (LayoutInflater)ctx.getSystemService(
                        Context.LAYOUT_INFLATER_SERVICE);

                this.players = players;
                mIcons = icons;

                mViewResourceId = viewResourceId;
            }


            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                convertView = mInflater.inflate(mViewResourceId, null);

                ImageView iv = (ImageView)convertView.findViewById(R.id.playerPic);
                iv.setImageDrawable(mIcons.getDrawable(position));

                TextView tv = (TextView)convertView.findViewById(R.id.playerName);
                tv.setText(this.players.get(position).toString());

                return convertView;
            }
        }


        //and my code that calls it:


    TypedArray icons = res.obtainTypedArray(R.array.player_pics);

                adapter = new PlayerImageAdapter(ctx, R.layout.player_customlist,
                        dataStore.getPlayers(), icons);


        My code that access the gallery is:

         protected void onActivityResult(int requestCode, int resultCode, Intent data) {
                super.onActivityResult(requestCode, resultCode, data);

                if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
                    Uri selectedImage = data.getData();
                    String[] filePathColumn = { MediaStore.Images.Media.DATA };

                    Cursor cursor = getContentResolver().query(selectedImage,
                            filePathColumn, null, null, null);
                    cursor.moveToFirst();

                    int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                    String picturePath = cursor.getString(columnIndex);
                    cursor.close();

                    ImageView imageView = (ImageView) findViewById(R.id.imagePlayer);
                    imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));

                }


            }
4

0 に答える 0