前提・実現したいこと
以下の質問でご回答いただき、picassoを使ってWebから画像をダウンロードしてくるところまでできたのですが、ダウンロードした画像をMenuItem.setItem()で設定してもアイコンが表示されず、困っています。。
https://teratail.com/questions/252401
発生している問題・エラーメッセージ
コードを実行してもアイコンが表示されないです。
該当のソースコード
kotlin
1class MainActivity : AppCompatActivity(), Target { 2 3 override fun onCreate(savedInstanceState: Bundle?) { 4 super.onCreate(savedInstanceState) 5 setContentView(R.layout.activity_main) 6 7 var url = "https://upload.wikimedia.org/wikipedia/commons/c/c4/16_cardinal_points_NE.png" 8 9 Picasso.get().load(url).resize(30,30).into(this) 10 } 11 12 override fun onPrepareLoad(placeHolderDrawable: Drawable?) { 13 Log.d("MainActivity","onPrepareLoad") 14 } 15 override fun onBitmapFailed(e: Exception, errorDrawable: Drawable?) { 16 Log.d("MainActivity","onBitmapFailed", e) 17 } 18 override fun onBitmapLoaded(bitmap: Bitmap, from: Picasso.LoadedFrom?) { 19 Log.d("MainActivity","onBitmapLoaded") 20 Log.d("MainActivity",bitmap.height.toString()) 21 val view = findViewById<ImageView>(R.id.imageview) 22 view.setImageBitmap(bitmap) 23 24 val navView: BottomNavigationView = findViewById(R.id.nav_view) 25 var a: Menu = navView.menu 26 val b: MenuItem = a.findItem(R.id.navigation_home) 27 28 var drawable = BitmapDrawable(resources, bitmap) 29 b.setIcon(drawable) 30 31 val navController = findNavController(R.id.nav_host_fragment) 32 33 // Passing each menu ID as a set of Ids because each 34 // menu should be considered as top level destinations. 35 val appBarConfiguration = AppBarConfiguration(setOf( 36 R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications)) 37 38 setupActionBarWithNavController(navController, appBarConfiguration) 39 navView.setupWithNavController(navController) 40 } 41}
試したこと
SVG画像じゃないとだめなのかと思い試してみてましたがpicassoでSVG画像を扱う方法が分かりませんでした。。
あなたの回答
tips
プレビュー