2

SDCARD にある画像に基づいたアイコンが必要ですが、Drawable/Bitmap しか取得できません。それに基づいて int リソースを取得するにはどうすればよいですか?

public static String SDCARD_PATH = Environment.getExternalStorageDirectory().getPath() + "/folder/";

public static Drawable getDrawableFromChannelID(int id) {
    return Drawable.createFromPath(Utils.SDCARD_PATH + id + ".png");
}

public static Bitmap getBitmapFromChannelID(int id) {
    return BitmapFactory.decodeFile(Utils.SDCARD_PATH + id + ".png");
}
4

2 に答える 2

1

ええ、私はあなたがそれを行うことができないと信じています。リソースに画像を手動で追加して ID を取得するか、コンテンツ ビューに ImageView として追加して ID を追加し、その可視性を Gone に設定するだけで他のレイアウトに影響を与えないようにすることができます。このような

   ImageView icon=new ImageView(this);
   img.setBackground(<urDrawableIcon>);
   RelativeLayout.LayoutParams iconlayout=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
   icon.setId(11111);//set your own id;
   icon.setVisibility(View.GONE);
   addContentView(icon,iconlayout);

   //so your id is 11111; NotificationBuilder.setIcon(11111);
于 2013-02-01T03:16:02.147 に答える
1

できないと思います。すべての R.id.. などは、apk に含まれるリソースです。とにかくリソース ID が必要なのはなぜですか?

于 2013-02-01T01:22:56.573 に答える