前提・実現したいこと
kotlinでメモ帳を作っています。
id:yyyyyのButtonをクリックするとEdit.ktファイルが呼ばれて、編集画面が表示されるようにしたいです。
発生している問題・エラーメッセージ
actionadd.setOnClickListener {
val intent = Intent(application, Edit::class.java)
startActivity(intent)
}
上記の部分を実行するとアプリが強制終了されてしまします。
強制終了される理由を教えて下さい。
該当のソースコード
MainActivity.kt
package com.example.memoapps
import android.app.VoiceInteractor
import android.content.ClipData
import android.content.Intent
import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.ButtonBarLayout
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
getMenuInflater().inflate(R.menu.menu_main, menu);
val actionadd = findViewById<Button>(R.id.yyyyy)
//actionadd.setOnClickListener {
val intent = Intent(application, Edit::class.java)
startActivity(intent)
//}
return true;
}
}
Edit.kt
package com.example.memoapps
import android.os.Bundle
import android.view.Menu
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*
class Edit : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.edit)
}
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
getMenuInflater().inflate(R.menu.delete, menu)
return true
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFD5D5D5"
tools:context=".MainActivity">
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FFE3E3E3"
android:divider="#FFD5D5D5"
android:dividerHeight="8dp" >
<Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> </ListView> </RelativeLayout>
edit.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="5dp"
android:orientation="vertical">
<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:ems="10"
android:hint="@string/title"
android:importantForAutofill="no"
android:inputType="textPersonName"
android:textSize="24sp" />
</LinearLayout><EditText android:id="@+id/editText3" android:layout_width="match_parent" android:layout_height="wrap_content" android:autofillHints="" android:ems="10" android:hint="@string/contents" android:inputType="textPersonName" android:textSize="14sp" />
delete.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android"> <Button android:id="@+id/action_del" android:orderInCategory="1" android:title="@string/action_delete" android:icon="@android:drawable/ic_menu_delete" app:showAsAction="always" /> </menu>menu_main.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android"> <Button android:id="@+id/yyyyy" android:checkable="true" android:enabled="true" android:icon="@android:drawable/ic_input_add" android:orderInCategory="1" android:title="@string/add" android:visible="true" app:showAsAction="always" /> </menu>試したこと
actionadd.setOnClickListener {
上記の部分をコメントアウトすると、正しく編集画面が表示されるので、編集画面呼び出し部分に問題があるわけではないようです。
補足情報(FW/ツールのバージョンなど)
Android API 26
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/22 12:23