前提・実現したいこと
android studioでMainアクティビティへ入力したEditTextの値を渡したいです。
発生している問題・エラーメッセージ
入力を行うアクティビティのEditTextの値を、Mainアクティビティの方で値を受け取るように記述しているのですが、Mainアクティビティの方でLog.d("tag","message")を使用し値を確認するようにコードを書くとコンパイルの時点でエラーが起こってしまい、アプリそのものが実行できなくなってしまいます。
該当のソースコード
・入力を行うアクティビティ
public
1 private static final int RESULT_PICK_IMAGEFILE = 1000; 2 private ImageView imageView,image_menu; 3 4 @Override 5 protected void onCreate(Bundle savedInstanceState) { 6 super.onCreate(savedInstanceState); 7 setContentView(R.layout.activity_new_illustration); 8 9 //画像を得る 10 imageView = (ImageView)findViewById(R.id.imageView2); 11 image_menu = (ImageView)findViewById(R.id.imageView3); 12 13 //buttonの要素を得る 14 findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() { 15 @Override 16 public void onClick(View v) { 17 Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); 18 intent.addCategory(Intent.CATEGORY_OPENABLE); 19 intent.setType("image/*"); 20 startActivityForResult(intent,RESULT_PICK_IMAGEFILE); 21 } 22 }); 23 24 //戻るボタンの表示 25 getSupportActionBar().setDisplayShowHomeEnabled(true); 26 getSupportActionBar().setDisplayHomeAsUpEnabled(true); 27 28 } 29 30 @Override 31 public boolean onKeyDown(int keyCode, KeyEvent event) {//pauseボタンを押した時の注意アラート 32 if(keyCode == KeyEvent.KEYCODE_BACK) {//pauseボタンの事を指す 33 AlertDialog.Builder builder = new AlertDialog.Builder(this); 34 builder.setMessage("まだ保存されていません、戻ってよろしいですか?").setTitle("注意").setPositiveButton("OK", new DialogInterface.OnClickListener() { 35 public void onClick(DialogInterface dialog, int id) { 36 finish();//元の画面に戻る 37 } 38 }) 39 .setNegativeButton("NO",new DialogInterface.OnClickListener() { 40 public void onClick(DialogInterface dialog, int id) {//何もしない 41 } 42 }); 43 builder.show(); 44 } 45 return super.onKeyDown(keyCode,event); 46 } 47 48 @Override 49 public boolean onOptionsItemSelected(MenuItem item) { 50 int id = item.getItemId(); 51 52 switch (id) { 53 // Backボタンがタップされた場合 54 case android.R.id.home: 55 AlertDialog.Builder builder = new AlertDialog.Builder(this); 56 builder.setMessage("まだ保存されていません、戻ってよろしいですか?").setTitle("注意").setPositiveButton("OK", new DialogInterface.OnClickListener() { 57 public void onClick(DialogInterface dialog, int id) { 58 // ボタンをクリックしたときの動作 59 finish(); 60 } 61 }) 62 .setNegativeButton("NO",new DialogInterface.OnClickListener() { 63 public void onClick(DialogInterface dialog, int id) { 64 65 } 66 }); 67 builder.show(); 68 break; 69 } 70 71 return super.onOptionsItemSelected(item); 72 } 73 74 75 //startActivityForResult 終了後 onActivityResult が呼ばれる 76 @Override 77 public void onActivityResult(int requestCode, int resultCode, Intent resultData) { 78 super.onActivityResult(requestCode, resultCode, resultData); 79 if (requestCode == RESULT_PICK_IMAGEFILE && resultCode == RESULT_OK) { 80 Uri uri = null; 81 if (resultData != null) { 82 uri = resultData.getData(); 83 84 try { 85 Bitmap bmp = getBitmapFromUri(uri); 86 imageView.setScaleType(ImageView.ScaleType.FIT_START); 87 imageView.setImageBitmap(bmp); 88 image_menu.setVisibility(View.INVISIBLE); 89 } catch (IOException e) { 90 e.printStackTrace(); 91 } 92 } 93 } 94 } 95 96 private Bitmap getBitmapFromUri(Uri uri) throws IOException { 97 ParcelFileDescriptor parcelFileDescriptor = 98 getContentResolver().openFileDescriptor(uri, "r"); 99 FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor(); 100 Bitmap image = BitmapFactory.decodeFileDescriptor(fileDescriptor); 101 parcelFileDescriptor.close(); 102 return image; 103 } 104 105 public void myBtnClick(View v){/*保存ボタンが押された時の処理*/ 106 if(v.getId() == R.id.floatingActionButton3){ 107 //タイトルだけ渡してみる 108 EditText title = (EditText)findViewById(R.id.editTextTextPersonName); 109 String text = title.getText().toString(); 110 Intent intent = new Intent(New_illustration.this,MainActivity.class); 111 //確認,textに文がちゃんと入っているか 112 Log.d("確認",text); 113 intent.putExtra("Title",text); 114 115 String message = "保存しました"; 116 displayToast(message); 117 startActivity(intent); 118 } 119 } 120 121 public void displayToast(String message) { 122 Toast.makeText(getApplicationContext(), message,Toast.LENGTH_SHORT).show(); 123 } 124 125} 126
・値を受け取るMainアクティビティ
public
1 @Override 2 protected void onCreate(Bundle savedInstanceState) { 3 super.onCreate(savedInstanceState); 4 setContentView(R.layout.activity_main); 5 6 //値が受け取れているかの確認記述 7 Intent intent = getIntent(); 8 String data1 = intent.getStringExtra("Title"); 9 Log.d("data1:",data1);//ここでエラーが発生している 10 } 11 12 public boolean onCreateOptionsMenu(Menu menu){/*メニューバーを表示する、今回は漫画用の画面に飛ぶ時のアイコンを表示する*/ 13 //Inflate the menu; this adds items to the action bar if it is present. 14 getMenuInflater().inflate(R.menu.menu_action_bar, menu); 15 return true; 16 } 17 18 public boolean onOptionsItemSelected(MenuItem item) { 19 switch (item.getItemId()) { 20 case R.id.action_settings: 21 Intent intent = new Intent(MainActivity.this,Manga.class); 22 startActivity(intent); 23 24 String message = getString(R.string.manga); 25 displayToast(message); 26 27 return true; 28 default: 29 return super.onOptionsItemSelected(item); 30 31 } 32 } 33 34 public void myBtnClick(View v){/*+ボタンが押された時の処理*/ 35 if(v.getId() == R.id.floatingActionButton2){ 36 Intent intent = new Intent(MainActivity.this,New_illustration.class); 37 startActivity(intent); 38 39 String message = "Setting illustration"; 40 displayToast(message); 41 } 42 } 43 44 public void displayToast(String message) {/*Mangaの方にメッセージを表示するメソッド*/ 45 Toast.makeText(getApplicationContext(), message,Toast.LENGTH_SHORT).show(); 46 } 47}
試したこと
EditTextの入力された値を受け取る方法や、画面遷移をする際にIntentを使用したデータの受け渡しなどを調べましたが解決する事ができませんでした。
こういう質問サイトを使用する事が初めてでわかりにくいかもしれませんが、わかる方がいらしたら教えていただきたいです。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。


回答1件
あなたの回答
tips
プレビュー