2017年6月28日水曜日

Android開発でConstraintLayoutでアプリが落ちる現象

(2017/06/28)
ひさびさにAndroid開発をしようと思ってEmptyActivityで
空のアプリを作って以下のような簡単なListViewを表示しようとしたら
コンパイルエラーもないのにエミュレータ側でアプリが立ち上がらずに
落ちてしまいます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class MainActivity : AppCompatActivity() {
 
 
 
    override fun onCreate(savedInstanceState: Bundle?) {
 
        super.onCreate(savedInstanceState)
 
        setContentView(R.layout.activity_main)
 
        // ListView
 
        val lv = findViewById(R.id.list_view) as ListView
 
        val list_items = listOf("1", "2", "3")
 
        // アダプタをセット
 
        val adapter = ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list_items)
 
        lv.adapter = adapter
 
 
 
 
 
    }
 
}

ちなみに環境は以下の通りです。
・Windows10
・AndroidStudio2.3.3
・Kotlin1.1.3


調べてみたらどうやらAndroidStudio2.2くらいからデフォルトで
選ばれるようになった「ConstraintLayout」が原因とわかりました。

以前のように「RelativeLayout」で書き直したら以下のように
問題なく動きました。


ConstraintLayoutはマテリアルデザインしやすかったりXMLのネストを
浅く書けたりするみたいなんですけど今のところちょっと不具合がまだ
多そうに感じます。
勉強するのも良さそうなのですがもうちょっと安定してからですかね。
私はとりあえずはRelativeLayoutで進めようかなと思っています。








0 件のコメント:

コメントを投稿