設定メニューとしてDialogPreference
を使用したいと思います(アプリケーションの画面の右上にある3つの点)。これは私の現在のアプローチです:Android - MainActivityからカスタムDialogPreferenceを起動するには?
これらの設定メニューの作成方法に関するチュートリアルを読んでいるので、私は実際にはかなり混乱しています。私の最初のアプローチはPreferenceFragment
を使用していますPreferenceActivity
た:
class SettingsFragment : PreferenceFragment {
constructor() : super()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
addPreferencesFromResource(R.xml.preferences)
}
}
私は知らない - 私はあまりにもDialogPreferenceの場合にこれを使用する必要があるのですか?マイpreferences.xml
:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<com.test.view.DialogExPreference
android:title="Title"
android:dialogMessage="Dialog Message"
android:negativeButtonText="test"/>
</PreferenceScreen>
私はこのような私のカスタムDialogPreference起動しよう:
override fun onOptionsItemSelected(item: MenuItem): Boolean {
return when (item.itemId) {
R.id.action_settings -> {
var i = Intent(this,SettingsActivity::class.java)
startActivity(i)
return true
}
else -> super.onOptionsItemSelected(item)
}
}
をしかし、私はこのエラーを取得する:
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.standardbenutzer.integrate/com.example.standardbenutzer.integrate.SettingsActivity}; have you declared this activity in your AndroidManifest.xml?
しかし、私は私のAndroidManifest.xml
に追加しよう - android:name=".SettingsActivity"
のオプションはありません - それはなぜですか?
の任意のサブクラスは何をすべきか、すみません「利用可能なオプションはありません」という意味ですか?マニフェストを変更してこの定義を含める必要がありますか? – statosdotcom
私はAndroid Studioが 'SettingsActivity'を選択するオプションを与えていないことを意味します(実際にはアクティビティがない可能性があります) – binaryBigInt