質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

2回答

1047閲覧

エラー MypageをFragmentに変換できません

syyyow

総合スコア28

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2018/06/21 05:59

Androidでショッピングサイトを作成中です。
Mypageを作成しているのですが、Settinds Activityを利用したいと思い設定を行ったところ
【MypageをFragmentに変換できません】というエラーが出てしまいます。

java

1 2MainActivity.java 3 4import android.os.Bundle; 5import android.support.annotation.NonNull; 6import android.support.design.widget.BottomNavigationView; 7import android.support.v4.app.Fragment; 8import android.support.v7.app.AppCompatActivity; 9import android.view.MenuItem; 10import android.widget.TextView; 11 12public class MainActivity extends AppCompatActivity { 13 14 @Override 15 protected void onCreate(Bundle savedInstanceState) { 16 super.onCreate(savedInstanceState); 17 setContentView(R.layout.activity_main); 18 19 BottomNavigationView navigation = findViewById(R.id.navigation); 20 navigation.setOnNavigationItemSelectedListener(navListner); 21 } 22 23 private BottomNavigationView.OnNavigationItemSelectedListener navListner = 24 new BottomNavigationView.OnNavigationItemSelectedListener() { 25 @Override 26 public boolean onNavigationItemSelected(@NonNull MenuItem item) { 27 Fragment selectedFragment = null; 28 29 switch (item.getItemId()) { 30 case R.id.navigation_product: 31 selectedFragment = new Product(); 32 break; 33 case R.id.navigation_cart: 34 selectedFragment = new Cart(); 35 break; 36 case R.id.navigation_delivery_status: 37 selectedFragment = new Delivery_Status(); 38 break; 39 case R.id.navigation_mypage: 40 selectedFragment = new Mypage(); 41 break; 42 } 43 44 getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, 45 selectedFragment).commit(); 46 47 return true; 48 } 49 }; 50}

java

1 2Mypage.java 3 4import android.annotation.TargetApi; 5import android.content.Context; 6import android.content.Intent; 7import android.content.res.Configuration; 8import android.media.Ringtone; 9import android.media.RingtoneManager; 10import android.net.Uri; 11import android.os.Build; 12import android.os.Bundle; 13import android.preference.ListPreference; 14import android.preference.Preference; 15import android.preference.PreferenceActivity; 16import android.support.v4.app.Fragment; 17import android.support.v7.app.ActionBar; 18import android.preference.PreferenceFragment; 19import android.preference.PreferenceManager; 20import android.preference.RingtonePreference; 21import android.text.TextUtils; 22import android.view.MenuItem; 23 24import java.util.List; 25 26public class Mypage extends AppCompatPreferenceActivity { 27 28 private static Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener = new Preference.OnPreferenceChangeListener() { 29 @Override 30 public boolean onPreferenceChange(Preference preference, Object value) { 31 String stringValue = value.toString(); 32 33 if (preference instanceof ListPreference) { 34 35 ListPreference listPreference = (ListPreference) preference; 36 int index = listPreference.findIndexOfValue(stringValue); 37 38 preference.setSummary( 39 index >= 0 40 ? listPreference.getEntries()[index] 41 : null); 42 43 } else if (preference instanceof RingtonePreference) { 44 45 if (TextUtils.isEmpty(stringValue)) { 46 47 preference.setSummary(R.string.pref_ringtone_silent); 48 49 } else { 50 Ringtone ringtone = RingtoneManager.getRingtone( 51 preference.getContext(), Uri.parse(stringValue)); 52 53 if (ringtone == null) { 54 55 preference.setSummary(null); 56 } else { 57 58 String name = ringtone.getTitle(preference.getContext()); 59 preference.setSummary(name); 60 } 61 } 62 63 } else { 64 65 preference.setSummary(stringValue); 66 } 67 return true; 68 } 69 }; 70 71 private static boolean isXLargeTablet(Context context) { 72 return (context.getResources().getConfiguration().screenLayout 73 & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_XLARGE; 74 } 75 preference.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener); 76 77 sBindPreferenceSummaryToValueListener.onPreferenceChange(preference, 78 PreferenceManager 79 .getDefaultSharedPreferences(preference.getContext()) 80 .getString(preference.getKey(), "")); 81 } 82 83 @Override 84 protected void onCreate(Bundle savedInstanceState) { 85 super.onCreate(savedInstanceState); 86 setupActionBar(); 87 } 88 89 90 private void setupActionBar() { 91 ActionBar actionBar = getSupportActionBar(); 92 if (actionBar != null) { 93 94 actionBar.setDisplayHomeAsUpEnabled(true); 95 } 96 } 97 98 99 @Override 100 public boolean onIsMultiPane() { 101 return isXLargeTablet(this); 102 } 103 104 105 @Override 106 @TargetApi(Build.VERSION_CODES.HONEYCOMB) 107 public void onBuildHeaders(List<Header> target) { 108 loadHeadersFromResource(R.xml.pref_headers, target); 109 } 110 111 112 protected boolean isValidFragment(String fragmentName) { 113 return PreferenceFragment.class.getName().equals(fragmentName) 114 || GeneralPreferenceFragment.class.getName().equals(fragmentName) 115 || DataSyncPreferenceFragment.class.getName().equals(fragmentName) 116 || NotificationPreferenceFragment.class.getName().equals(fragmentName); 117 } 118 119 120 @TargetApi(Build.VERSION_CODES.HONEYCOMB) 121 public static class GeneralPreferenceFragment extends PreferenceFragment { 122 @Override 123 public void onCreate(Bundle savedInstanceState) { 124 super.onCreate(savedInstanceState); 125 addPreferencesFromResource(R.xml.pref_general); 126 setHasOptionsMenu(true); 127 128 bindPreferenceSummaryToValue(findPreference("example_text")); 129 bindPreferenceSummaryToValue(findPreference("example_list")); 130 } 131 132 @Override 133 public boolean onOptionsItemSelected(MenuItem item) { 134 int id = item.getItemId(); 135 if (id == android.R.id.home) { 136 startActivity(new Intent(getActivity(), Mypage.class)); 137 return true; 138 } 139 return super.onOptionsItemSelected(item); 140 } 141 } 142 143 144 @TargetApi(Build.VERSION_CODES.HONEYCOMB) 145 public static class NotificationPreferenceFragment extends PreferenceFragment { 146 @Override 147 public void onCreate(Bundle savedInstanceState) { 148 super.onCreate(savedInstanceState); 149 addPreferencesFromResource(R.xml.pref_notification); 150 setHasOptionsMenu(true); 151 152 bindPreferenceSummaryToValue(findPreference("notifications_new_message_ringtone")); 153 } 154 155 @Override 156 public boolean onOptionsItemSelected(MenuItem item) { 157 int id = item.getItemId(); 158 if (id == android.R.id.home) { 159 startActivity(new Intent(getActivity(), Mypage.class)); 160 return true; 161 } 162 return super.onOptionsItemSelected(item); 163 } 164 } 165 166 167 @TargetApi(Build.VERSION_CODES.HONEYCOMB) 168 public static class DataSyncPreferenceFragment extends PreferenceFragment { 169 @Override 170 public void onCreate(Bundle savedInstanceState) { 171 super.onCreate(savedInstanceState); 172 addPreferencesFromResource(R.xml.pref_data_sync); 173 setHasOptionsMenu(true); 174 175 bindPreferenceSummaryToValue(findPreference("sync_frequency")); 176 } 177 178 @Override 179 public boolean onOptionsItemSelected(MenuItem item) { 180 int id = item.getItemId(); 181 if (id == android.R.id.home) { 182 startActivity(new Intent(getActivity(), Mypage.class)); 183 return true; 184 } 185 return super.onOptionsItemSelected(item); 186 } 187 } 188} 189

Mypage.javaの
public class Mypage extends AppCompatPreferenceActivity {

public class Mypage extends Fragment {
に変換もしてみたのですが、そうすると、
Mypage.javaの方で多数エラーが出てしまいます。
↓こちらです
エラー: シンボルを見つけられません シンボル: クラス Header 場所: クラス Mypage エラー: MypageのonCreate(Bundle)はFragmentのonCreate(Bundle)をオーバーライドできません (public)より弱いアクセス権限を割り当てようとしました エラー: シンボルを見つけられません シンボル: メソッド getSupportActionBar() 場所: クラス Mypage エラー: メソッドはスーパータイプのメソッドをオーバーライドまたは実装しません エラー: 不適合な型: MypageをContextに変換できません: エラー: メソッドはスーパータイプのメソッドをオーバーライドまたは実装しません

わかる方、よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

エラー: MypageのonCreate(Bundle)はFragmentのonCreate(Bundle)をオーバーライドできません

(public)より弱いアクセス権限を割り当てようとしました

のメッセージ通り、属性をpublicにしてください。

投稿2018/06/21 07:02

sora_kumo

総合スコア55

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

syyyow

2018/06/21 08:17

Mypage.javaの public class Mypage extends AppCompatPreferenceActivity { を public class Mypage extends Fragment { に変換し、属性をpublicに変換いたしました。 残り5つあるエラーのうち 自分なりに2つ解決できたと思いますので 残り3つのエラーがあるのですが ここのエラーを正すことができません。。 エラー内容は以下の通りです ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ エラー: シンボルを見つけられません シンボル: メソッド getSupportActionBar() 場所: クラス Mypage エラー: 不適合な型: MypageをContextに変換できません: エラー: シンボルを見つけられません シンボル: メソッド loadHeadersFromResource(int,List<Header>) 場所: クラス Mypage
syyyow

2018/06/21 08:26

Mypage.java import android.annotation.TargetApi; import android.content.Context; import android.content.Intent; import android.content.res.Configuration; import android.media.Ringtone; import android.media.RingtoneManager; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceActivity; import android.support.v4.app.Fragment; import android.support.v7.app.ActionBar; import android.preference.PreferenceFragment; import android.preference.PreferenceManager; import android.preference.RingtonePreference; import android.text.TextUtils; import android.view.MenuItem; import java.util.List; public class Mypage extends Fragment { private static Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener = new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object value) { String stringValue = value.toString(); if (preference instanceof ListPreference) { ListPreference listPreference = (ListPreference) preference; int index = listPreference.findIndexOfValue(stringValue); preference.setSummary( index >= 0 ? listPreference.getEntries()[index] : null); } else if (preference instanceof RingtonePreference) { if (TextUtils.isEmpty(stringValue)) { preference.setSummary(R.string.pref_ringtone_silent); } else { Ringtone ringtone = RingtoneManager.getRingtone( preference.getContext(), Uri.parse(stringValue)); if (ringtone == null) { preference.setSummary(null); } else { String name = ringtone.getTitle(preference.getContext()); preference.setSummary(name); } } } else { preference.setSummary(stringValue); } return true; } }; private static boolean isXLargeTablet(Context context) { return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_XLARGE; } private static void bindPreferenceSummaryToValue(Preference preference) { preference.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener); sBindPreferenceSummaryToValueListener.onPreferenceChange(preference, PreferenceManager .getDefaultSharedPreferences(preference.getContext()) .getString(preference.getKey(), "")); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setupActionBar(); } private void setupActionBar() { ActionBar actionBar = getSupportActionBar(); if (actionBar != null) { actionBar.setDisplayHomeAsUpEnabled(true); } } public boolean onIsMultiPane() { return isXLargeTablet(this); } @TargetApi(Build.VERSION_CODES.HONEYCOMB) public void onBuildHeaders(List<PreferenceActivity.Header> target) { loadHeadersFromResource(R.xml.pref_headers, target); } protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || GeneralPreferenceFragment.class.getName().equals(fragmentName) || DataSyncPreferenceFragment.class.getName().equals(fragmentName) || NotificationPreferenceFragment.class.getName().equals(fragmentName); } @TargetApi(Build.VERSION_CODES.HONEYCOMB) public static class GeneralPreferenceFragment extends PreferenceFragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.pref_general); setHasOptionsMenu(true); bindPreferenceSummaryToValue(findPreference("example_text")); bindPreferenceSummaryToValue(findPreference("example_list")); } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == android.R.id.home) { startActivity(new Intent(getActivity(), Mypage.class)); return true; } return super.onOptionsItemSelected(item); } } @TargetApi(Build.VERSION_CODES.HONEYCOMB) public static class NotificationPreferenceFragment extends PreferenceFragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.pref_notification); setHasOptionsMenu(true); bindPreferenceSummaryToValue(findPreference("notifications_new_message_ringtone")); } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == android.R.id.home) { startActivity(new Intent(getActivity(), Mypage.class)); return true; } return super.onOptionsItemSelected(item); } } @TargetApi(Build.VERSION_CODES.HONEYCOMB) public static class DataSyncPreferenceFragment extends PreferenceFragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.pref_data_sync); setHasOptionsMenu(true); bindPreferenceSummaryToValue(findPreference("sync_frequency")); } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == android.R.id.home) { startActivity(new Intent(getActivity(), Mypage.class)); return true; } return super.onOptionsItemSelected(item); } } }
guest

0

自己解決

単なるFragmentクラスはgetPreferenceManager()もaddPreferencesFromResource()も持っていないのでFragmentとして作りたいのなら、PreferenceFragmentを用いればいい

投稿2018/06/23 01:43

syyyow

総合スコア28

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問