SettingFragment$5.onPreferenceClick(SettingFragment.java:100)とエラーが出ました。
Java
1import android.app.AlertDialog; 2import android.content.Intent; 3import android.provider.ContactsContract; 4import android.support.v7.preference.PreferenceFragmentCompat; 5import android.support.v7.preference.PreferenceScreen; 6import android.support.v7.preference.Preference; 7 8import android.os.Bundle; 9 10import com.google.firebase.analytics.FirebaseAnalytics; 11 12public class SettingFragment extends PreferenceFragmentCompat{ 13 14 private FirebaseAnalytics FirebaseAnalytics; 15 16 @Override 17 public void onCreatePreferences(Bundle savedInstanceState, String s) { 18 addPreferencesFromResource(R.xml.pref); 19 20 FirebaseAnalytics = FirebaseAnalytics.getInstance(getContext()); 21 FirebaseAnalytics.logEvent("SettingFragment", null); 22 } 23 24 @Override 25 public void onResume(){ 26 super.onResume(); 27 28 final SavePreference savePreference = new SavePreference(); 29 PreferenceScreen pro_account = (PreferenceScreen)findPreference("pro_account"); 30 PreferenceScreen contact = (PreferenceScreen)findPreference("contact"); 31 PreferenceScreen policy = (PreferenceScreen)findPreference("policy"); 32 PreferenceScreen terms = (PreferenceScreen)findPreference("terms"); 33 PreferenceScreen logout = (PreferenceScreen)findPreference("logout"); 34 PreferenceScreen profile = (PreferenceScreen)findPreference("profile"); 35 36 pro_account.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { 37 @Override 38 public boolean onPreferenceClick(Preference preference) { 39 String username; 40 if((username = savePreference.load_username(getActivity())) != null){ 41 username = "?username=" + username; 42 }else{ 43 username = ""; 44 } 45 Intent nextActivity = new Intent(getActivity(), EachSettingActivity.class); 46 nextActivity.putExtra("url", getString(R.string.base_url)+"proaccount/"+ username); 47 startActivity(nextActivity); 48 49 FirebaseAnalytics.logEvent("ProaccountLinkClicked", null); 50 51 return true; 52 } 53 }); 54 55 contact.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { 56 @Override 57 public boolean onPreferenceClick(Preference preference) { 58 Intent nextActivity = new Intent(getActivity(), EachSettingActivity.class); 59 nextActivity.putExtra("url", getString(R.string.base_url)+"contact/"); 60 startActivity(nextActivity); 61 62 FirebaseAnalytics.logEvent("ContactLinkClicked", null); 63 64 return true; 65 } 66 }); 67 68 policy.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { 69 @Override 70 public boolean onPreferenceClick(Preference preference) { 71 Intent nextActivity = new Intent(getActivity(), EachSettingActivity.class); 72 nextActivity.putExtra("url", getString(R.string.base_url)+"privacy/"); 73 startActivity(nextActivity); 74 75 FirebaseAnalytics.logEvent("PrivacyLinkClicked", null); 76 77 return true; 78 } 79 }); 80 81 terms.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { 82 @Override 83 public boolean onPreferenceClick(Preference preference) { 84 Intent nextActivity = new Intent(getActivity(), EachSettingActivity.class); 85 nextActivity.putExtra("url", getString(R.string.base_url)+"terms/"); 86 startActivity(nextActivity); 87 88 FirebaseAnalytics.logEvent("TermsLinkClicked", null); 89 90 return true; 91 } 92 }); 93 94 profile.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { 95 @Override 96 public boolean onPreferenceClick(Preference preference) { 97 Intent nextActivity = new Intent(getActivity(), ProfileActivity.class); 98 startActivity(nextActivity); 99 100 FirebaseAnalytics.logEvent("TermsLinkClicked", null); 101 102 return true; 103 } 104 }); 105 106 logout.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { 107 @Override 108 public boolean onPreferenceClick(Preference preference) { 109 if(savePreference.load_aToken(getActivity()) == null){ 110 new AlertDialog.Builder(getActivity()) 111 .setTitle("エラー") 112 .setMessage("ログインされていません。") 113 .setPositiveButton("OK", null) 114 .show(); 115 }else{ 116 new AlertDialog.Builder(getActivity()) 117 .setMessage("ログアウトしました。") 118 .setPositiveButton("OK", null) 119 .show(); 120 121 savePreference.save_aToken(getActivity(), null); 122 savePreference.save_username(getActivity(), null); 123 124 MainActivity activity = (MainActivity)getActivity(); 125 activity.notifyFragmentChange(); 126 127 FirebaseAnalytics.logEvent("Logout", null); 128 } 129 return true; 130 } 131 }); 132 133 134 } 135} 136
と記載した部分の
Java
1 @Override 2 public boolean onPreferenceClick(Preference preference) { 3 Intent nextActivity = new Intent(getActivity(), EachSettingActivity.class); 4 nextActivity.putExtra("url", getString(R.string.base_url)+"privacy/"); 5 startActivity(nextActivity); 6 7 FirebaseAnalytics.logEvent("PrivacyLinkClicked", null); 8 9 return true;
のstartActivity(nextActivity);と記載した部分です。
ここの記述によりアプリが落ちてしまいます。どうしてこの部分がエラーになるのかわかりません。
あなたの回答
tips
プレビュー