AndroidStudio Kotlin MainActivvity.ktで 保存したり読込でエラーになります。
解決したいこと
AndroidStudio Kotlin MainActivvity.ktで エラーになります。
etMojiに入れた文字をbtSaveボタンを押すことでHozon.txtに保存し
etLoadをボタンを押すことでHozon.txtから読みだした文字をtvMojiに表示させたいです。
発生している問題・エラー
Expecting an expression
Expecting an element
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
該当するソースコード
ソースコードを入力
解決したいこと
AndroidStudio Kotlin MainActivity.kt で
etMojiに入れた文字をbtSaveボタンを押すことでHozon.txtに保存し
etLoadをボタンを押すことでHozon.txtから読みだした文字をtvMojiに表示させたいです。
VBとVCで文字の編集をする程度のことしか自作したことがありません。
よろしくお願いします。
Package com.example.edittextfile
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import java.io.File
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
// 親クラスのOnCreate()メソッドを呼び出す 自動作成
super.onCreate(savedInstanceState)
// 画面の設定 自動作成
setContentView(R.layout.activity_main)
// 消去ボタンであるButtonオブジェクトを取得
val btClear = findViewById<Button>(R.id.btClear)
// リスナクラスのインスタンスを生成
val listener = HelloListener()
// 消去ボタンにリスナを設定
btClear.setOnClickListener(listener)
// 保存ボタンであるButtonオブジェクトを取得
val btSave = findViewById<Button>(R.id.btSave)
// 保存ボタンにリスナを設定
btSave.setOnClickListener(listener)
// 読込ボタンであるButtonオブジェクトを取得
val btLoad = findViewById<Button>(R.id.btLoad)
// 読込ボタンにリスナーを設定
btLoad.setOnClickListener(listener)
var etMioiStr:String = ""
var tvMojiStr:String = ""
}
// ボタンをクリックしたときのリスナクラス
private inner class HelloListener : View.OnClickListener {
override fun onClick(view: View) {
// 文字入力欄であるEditTextオブジェクトを取得
val etMoji = findViewById<EditText>(R.id.etMoji)
// 文字出力欄であるTextViewオブジェクトを取得
val tvMoji = findViewById<TextView>(R.id.tvMoji)
when(view.id) {
R.id.btSave -> {
val fileNames = "Hozon.txt"
// 入力された文字列を取得
val etMojiStr = etMoji.toString()
val text = etMoji.text.toString()
val fileNames = "hozon.txt"
val files = File(fileNames)
files.writeText(text)
}
R.id.btLoad -> {
val fileNamel = "Hozan.txt"
val f = File(fileNamel)
runCatching (
var tvMojiStr = f.readText
)
tvMoji.text = tvMoji.text
}
R.id.btClear -> {
etMoji.setText("")
tvMoji.text = ""
}
}
}
}
}
### 自分で試したこと
エムレーターでの動作ができません。