質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

14106閲覧

Expecting member declarationを解決できない

shou_hitotose

総合スコア66

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2020/03/17 15:32

現在Android StudioでKotlinを用いて体型管理のアプリを作成しています。
しかしエラー文のExpecting member declarationを解決することがどうしてもできませんでした。

そこでこちらに質問をさせていただいた次第です。

Kotlin

1package com.example.mysize 2 3import android.os.Bundle 4import android.preference.PreferenceManager 5import android.provider.Settings.Global.putInt 6import android.view.View 7import android.widget.AdapterView 8import android.widget.SeekBar 9import android.widget.Spinner 10import androidx.appcompat.app.AppCompatActivity 11import kotlinx.android.synthetic.main.activity_height.* 12 13 14class HeightActivity : AppCompatActivity() { 15 16 override fun onCreate(savedInstanceState: Bundle?) { 17 super.onCreate(savedInstanceState) 18 setContentView(R.layout.activity_height) 19 20 spinner.onItemSelectedListener= 21 object:AdapterView.OnItemSelectedListener{ 22 override 23 fun onItemSelected( 24 parent: AdapterView<*>?, 25 view: View?, 26 position: Int, 27 id: Long 28 ) { 29 val spinner=parent as? Spinner 30 val item=spinner?.selectedItem as? String 31 item?.let{ 32 if(it.isNotEmpty()) height.text=it 33 } 34 } 35 36 override 37 fun onNothingSelected(parent: AdapterView<*>?){} 38 } 39 } 40 41 val pref = PreferenceManager.getDefaultSharedPreferences(this) 42 val heightVal=pref.getInt("HEIGHT",160) 43 height.text=heightVal.toString()//ここでExpecting・・のエラーが出ます。 44 seekBar.progress=heightVal//ここでも出ます。 45 46 seekBar.setOnSeekBarChangeListener( 47 object : SeekBar.OnSeekBarChangeListener{ 48 override fun onProgressChanged(seekBar:SeekBar?, 49 progress:Int, 50 fromUser:Boolean){ 51 height.text=progress.toString() 52 } 53 54 override 55 fun onStartTrackingTouch(seekBar:SeekBar?){} 56 57 override fun onStopTrackingTouch(seekBar:SeekBar?){} 58 } 59 } 60 61 override fun onPause() { 62 super.onPause() 63 val pref = PreferenceManager.getDefaultSharedPreference(this) 64 pref.edit { 65 putInt("HEIGHT", height.text.toString().toInt()) 66 } 67 } 68 69

(試してみたこと)
object ならinitを挿入すればよいというのを見ましたがそもそもエラーが出ている個所はobjectでないです。

()と{}の違いという過去のteratailの質問も見てソースコードを確認しましたがこちらでもなさそうでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

エラーが出ている部分の処理は本来onCreateかonResume内に書かれるべきものでしょうが、外に出てます。エラーはそれが理由です。
ほかにも怪しい部分があるので、全体的にインデントやカッコの対応がちゃんと出来てるか確認したほうがいいでしょう。そうすればおのずとエラーは消えるはずです。

投稿2020/03/17 18:12

yudedako67

総合スコア2047

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shou_hitotose

2020/03/18 03:08

なるほど、やってみたいと思います
shou_hitotose

2020/03/18 08:56

無事解決いたしました!ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問