🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Android Studio

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

Q&A

解決済

1回答

1196閲覧

IllegalStateException(シンボルが見つからない)

j06110611

総合スコア54

Android Studio

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

0グッド

0クリップ

投稿2019/10/03 05:26

https://qiita.com/kskso9/items/01c8bbb39355af9ec25e
MakeQuizActivityというアクティビティから結果(strTitle)を得たく、このサイトを参考に書いていました。
MainActivityのgetExtraが赤字になっていてシンボルが見つからないようです。
調べてはいるのですが、IllegalStateExceptionが出る原因がどういうものかわからないので教えてほしいです。

Error

1java.lang.IllegalStateException: Unable to get current module info in ModuleManager created with non-module Context

MainActivity

1public class MainActivity extends AppCompatActivity { 2 3 static ArrayList data = new ArrayList<>(); 4 private static final int REQUEST_CODE = 1; 5 6 @Override 7 protected void onActivityResult(int request_Code, int resultCode, Intent result){ 8 switch(request_Code){ 9 //MakeQuizActivityから戻ってきた場合 10 case(REQUEST_CODE): 11 //クイズを作るボタンを押して戻ってきたときの処理 12 if(resultCode == RESULT_OK){ 13 addData(result.getExtra("INPUT_TILE")); 14 } 15 //押されなかったときの処理 16 else if(resultCode == RESULT_CANCELED){ 17 18 } 19 break; 20 default: 21 break; 22 } 23 } 24 protected void onCreate(Bundle savedInstanceState) { 25 super.onCreate(savedInstanceState); 26 setContentView(R.layout.activity_main); 27 28 // リスト項目とListViewを対応付けるArrayAdapterを用意する 29 final ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data);; 30 // ListViewにArrayAdapterを設定する 31 ListView listView = (ListView) findViewById(R.id.listView); 32 listView.setAdapter(adapter); 33 Button button = (Button) findViewById(R.id.makeQuiz_Button1); 34 button.setOnClickListener(new View.OnClickListener() { 35 @Override 36 public void onClick(View v) { 37 Intent intent = new Intent(MainActivity.this, com.test.quizmaker.MakeQuizActivity.class); 38 startActivityForResult(intent, REQUEST_CODE); 39 } 40 }); 41 } 42 public void addData(String addTitle){ 43 data.add(addTitle); 44 } 45}

MakeQuizActivity

1public class MakeQuizActivity extends AppCompatActivity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_make_quiz); 7 8 Button button2 = (Button)findViewById(R.id.makeQuiz_Button2); 9 button2.setOnClickListener(new View.OnClickListener() { 10 @Override 11 public void onClick(View v) { 12 Intent intent2 = new Intent(MakeQuizActivity.this,com.test.quizmaker.MainActivity.class); 13 PreferenceManager pm = new PreferenceManager(); 14 MainActivity main = new MainActivity(); 15 SharedPreferences sp = getSharedPreferences("DataStore",MODE_PRIVATE); 16 SharedPreferences.Editor editor = sp.edit(); 17 pm.init(sp,editor); 18 String strTitle = ((EditText)findViewById(R.id.editText)).getText().toString(); 19 String strQuiz = ((EditText)findViewById(R.id.editText2)).getText().toString(); 20 String strAnswer = ((EditText)findViewById(R.id.editText3)).getText().toString(); 21 int count = sp.getInt("count",0) + 1; 22 pm.saveInt(count); 23 pm.saveString(strTitle, PreferenceManager.DataKeys.TITLE, String.valueOf(count)); 24 pm.saveString(strQuiz, PreferenceManager.DataKeys.QUIZ, String.valueOf(count)); 25 pm.saveString(strAnswer, PreferenceManager.DataKeys.ANSWER, String.valueOf(count)); 26 String title = sp.getString(PreferenceManager.DataKeys.TITLE.getValue() + String.valueOf(count), "Nothing"); 27 intent2.putExtra("INPUT_TITLE", title); 28 setResult(RESULT_OK, intent2); 29 finish(); 30 //main.addData(title); 31 startActivity(intent2); 32 } 33 }); 34 } 35}

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

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

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

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

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

guest

回答1

0

ベストアンサー

MainActivityのgetExtraが赤字になっていてシンボルが見つからないようです。

※確認ですが、ビルドは通りませんよね?

getExtraと言うメソッドはIntentクラスのAPIとして存在しません。もともとの参考にされたコードに間違いがあるかと思われます。昔は存在していたものの、今現在は使用が推奨されないようなAPIは、OBSOLETE などとして一応、残っているたりするものですけれども。

つづりとして近いのはgetExtrasgetStringExtraですが、やりたいことに合致するのはgetStringExtraでしょう。

[Android Developers - Intent#getStringExtra](https://developer.android.com/reference/android/content/Intent.html#getStringExtra(java.lang.String)

あれれ?おかしいな?と思ったら、上記、https://developer.android.com/ のような公式のサイトで1次情報を確認されることをお勧めします。

投稿2019/10/03 05:55

編集2019/10/03 05:56
dodox86

総合スコア9254

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

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

j06110611

2019/10/05 02:29

シンボルが見つからないことに関しては解決しました! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問