Kotlinを使用して、アプリ作成を行っております。
名刺アプリを作成しており、入力用の画面と表示用の画面を作っております。
表示用画面から、入力用画面に遷移する際に、アプリが強制終了してしまいます。
(画面きりかのために、表示用画面にメニューボタン作成。
メニューボタンを表示させた後に、メニューをタップするとアプリが落ちます。
原因が分かる方いらっしゃいましたら、教えてください。
〈以下、MainActivityになります〉
package com.example.outofbusinesscards
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.preference.PreferenceManager
import android.view.Menu
import android.view.MenuItem
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } override fun onResume() { super.onResume() PreferenceManager.getDefaultSharedPreferences(this).apply { val company = getString("company","") val postal = getString("postal","") val address = getString("address","") val tel = getString("tel","") val fax = getString("fax","") val email = getString("email","") val url = getString("url","") val position = getString("position","") val name = getString("name","") companyText.text= company postalText.text= postal addressText.text= address telText.text= tel faxText.text= fax emailText.text= email urlText.text= url positionText.text= position nameText.text= name } } override fun onCreateOptionsMenu(menu: Menu?): Boolean { menuInflater.inflate(R.menu.main,menu) return true } override fun onOptionsItemSelected(item: MenuItem?): Boolean { when(item?.itemId) { R.id.edit -> { val intent = Intent(this, EditActivity::class.java) startActivity(intent) } } return super.onOptionsItemSelected(item) }
}
<以下、EditActivityです>
package com.example.outofbusinesscards
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.preference.PreferenceManager
import kotlinx.android.synthetic.main.activity_edit.*
class EditActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val pref = PreferenceManager.getDefaultSharedPreferences(this) val company = pref.getString("company","") val postal = pref.getString("postal","") val address = pref.getString("address","") val tel = pref.getString("tel","") val fax = pref.getString("fax","") val email = pref.getString("email","") val url = pref.getString("url","") val position = pref.getString("position","") val name = pref.getString("name","") companyEdit.setText(company) postalEdit.setText(postal) addressEdit.setText(address) telEdit.setText(tel) faxEdit.setText(fax) emailEdit.setText(email) urlEdit.setText(url) positisonEdit.setText(position) nameEdit.setText(name) saveBtn.setOnClickListener(){ saveDate() finish() } cancelBtn.setOnClickListener(){ finish() } } private fun saveDate(){ val pref = PreferenceManager.getDefaultSharedPreferences(this) val editor = pref.edit() editor.putString("company",companyEdit.text.toString()) .putString("postal",postalEdit.text.toString()) .putString("address",addressEdit.text.toString()) .putString("tel",telEdit.text.toString()) .putString("fax",faxEdit.text.toString()) .putString("email",emailEdit.text.toString()) .putString("url",urlEdit.text.toString()) .putString("position",positisonEdit.text.toString()) .putString("name",nameEdit.text.toString()) .apply() }
}
回答1件
あなたの回答
tips
プレビュー