質問編集履歴
2
コード、エラーメッセージの詳細を追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,23 +4,80 @@
|
|
4
4
|
|
5
5
|
### 発生している問題・エラーメッセージ
|
6
6
|
|
7
|
-
エミュレータを立ち上げて確認しようとしていますが、
|
7
|
+
開発中のアプリをエミュレータを立ち上げて確認しようとしていますが、以下のエラーによりアプリが落ちてしまい困っています。。
|
8
8
|
|
9
|
+
```
|
10
|
+
2020-04-09 18:32:37.189 23279-23279/com.example.abb E/AndroidRuntime: FATAL EXCEPTION: main
|
11
|
+
Process: com.example.abb, PID: 23279
|
12
|
+
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.abb/com.example.abb.MainActivity}: java.lang.IllegalStateException: Method call should not happen from the main thread.
|
13
|
+
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3333)
|
14
|
+
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3477)
|
15
|
+
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
|
16
|
+
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
|
17
|
+
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
|
18
|
+
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2043)
|
19
|
+
at android.os.Handler.dispatchMessage(Handler.java:106)
|
20
|
+
at android.os.Looper.loop(Looper.java:216)
|
21
|
+
at android.app.ActivityThread.main(ActivityThread.java:7464)
|
22
|
+
at java.lang.reflect.Method.invoke(Native Method)
|
23
|
+
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)
|
24
|
+
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:955)
|
25
|
+
Caused by: java.lang.IllegalStateException: Method call should not happen from the main thread.
|
26
|
+
at com.squareup.picasso.Utils.checkNotMain(Utils.java:121)
|
27
|
+
at com.squareup.picasso.RequestCreator.get(RequestCreator.java:416)
|
28
|
+
at com.example.abb.MainActivity.onCreate(MainActivity.kt:28)
|
29
|
+
at android.app.Activity.performCreate(Activity.java:7990)
|
30
|
+
at android.app.Activity.performCreate(Activity.java:7979)
|
31
|
+
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
|
32
|
+
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3308)
|
33
|
+
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3477)
|
34
|
+
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
|
35
|
+
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
|
36
|
+
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
|
37
|
+
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2043)
|
38
|
+
at android.os.Handler.dispatchMessage(Handler.java:106)
|
39
|
+
at android.os.Looper.loop(Looper.java:216)
|
40
|
+
at android.app.ActivityThread.main(ActivityThread.java:7464)
|
41
|
+
at java.lang.reflect.Method.invoke(Native Method)
|
42
|
+
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)
|
43
|
+
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:955)
|
44
|
+
```
|
45
|
+
|
9
46
|
### 該当のソースコード
|
10
47
|
|
11
48
|
```kotlin
|
12
|
-
|
49
|
+
class MainActivity : AppCompatActivity() {
|
13
|
-
var drawable = BitmapDrawable(resources, bitmap)
|
14
50
|
|
51
|
+
override fun onCreate(savedInstanceState: Bundle?) {
|
52
|
+
super.onCreate(savedInstanceState)
|
53
|
+
setContentView(R.layout.activity_main)
|
54
|
+
|
55
|
+
var url = "http://i.imgur.com/DvpvklR.png"
|
56
|
+
|
57
|
+
var bitmap: Bitmap = Picasso.get().load(url).get()
|
58
|
+
var drawable = BitmapDrawable(resources, bitmap)
|
59
|
+
|
15
|
-
val navView: BottomNavigationView = findViewById(R.id.nav_view)
|
60
|
+
val navView: BottomNavigationView = findViewById(R.id.nav_view)
|
16
|
-
var
|
61
|
+
var a: Menu = navView.menu
|
17
|
-
val
|
62
|
+
val b: MenuItem = a.findItem(R.id.navigation_home)
|
63
|
+
|
18
|
-
|
64
|
+
b.setIcon(drawable)
|
65
|
+
|
66
|
+
val navController = findNavController(R.id.nav_host_fragment)
|
67
|
+
// Passing each menu ID as a set of Ids because each
|
68
|
+
// menu should be considered as top level destinations.
|
69
|
+
val appBarConfiguration = AppBarConfiguration(setOf(
|
70
|
+
R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications))
|
71
|
+
setupActionBarWithNavController(navController, appBarConfiguration)
|
72
|
+
navView.setupWithNavController(navController)
|
73
|
+
}
|
74
|
+
|
75
|
+
}
|
19
76
|
```
|
20
77
|
|
21
78
|
### 試したこと
|
22
79
|
|
23
|
-
非同期制御が必要なのかと思い、runBlockingを使って試してみてましたがエ
|
80
|
+
非同期制御が必要なのかと思い、runBlockingを使って試してみてましたが非同期処理の基礎を理解できていなくエラーが解消できずです。
|
24
81
|
|
25
82
|
### 補足情報(FW/ツールのバージョンなど)
|
26
83
|
|
1
ソースコードを修正しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,6 +10,8 @@
|
|
10
10
|
|
11
11
|
```kotlin
|
12
12
|
var bitmap: Bitmap = Picasso.get().load(url).get()
|
13
|
+
var drawable = BitmapDrawable(resources, bitmap)
|
14
|
+
|
13
15
|
val navView: BottomNavigationView = findViewById(R.id.nav_view)
|
14
16
|
var menu: Menu = navView.menu
|
15
17
|
val item: MenuItem = menu.findItem(R.id.navigation_home)
|