###前提・実現したいこと
Android Studioを始めたばかりです。
練習として何時に何の業務をしていたか記録するアプリを作ろうとしています。
その第一段階としてメイン画面に複数ボタンを配置して各ボタンごとに別の画面に遷移させたいです。
以下の画面から例えば会議を押したら下図別の画面に遷移して、
それをボタンごとにデータ入力を押したら、データ入力終了の画面に遷移させたいです。
###発生している問題・エラーメッセージ
MainActivityからSubActibityを指定しインテントを作成、値を保持させて
それでボタンを判別しようとしてます。
エラーは吐かれていませんがエミュレータで起動したところ、「○○○ has stopped」と出てアプリが終了してしまいます。
###該当のソースコード
MainActivity.java
java
1import android.content.Intent; 2import android.support.v7.app.AppCompatActivity; 3import android.os.Bundle; 4import android.view.View; 5import android.widget.Button; 6import android.widget.Toast; 7 8 9public class MainActivity extends AppCompatActivity{ 10 11 @Override 12 public void onCreate(Bundle savedInstanceState) { 13 super.onCreate(savedInstanceState); 14 setContentView(R.layout.activity_main); 15 16 Button sendkaigi = (Button)findViewById(R.id.kaigi); 17 sendkaigi.setOnClickListener(new View.OnClickListener(){ 18 @Override 19 public void onClick(View v){ 20 //インテントの作成 21 Intent intent = new Intent(getApplication(), SubActivity.class); 22 23 intent.putExtra("name","meeting"); 24 //遷移先の画面起動 25 startActivity(intent); 26 } 27 }); 28 Button send_datainput = (Button)findViewById(R.id.datainput); 29 send_datainput.setOnClickListener(new View.OnClickListener(){ 30 @Override 31 public void onClick(View v){ 32 Intent intent = new Intent(getApplication(), SubActivity.class); 33 34 intent.putExtra("name1","data_input"); 35 36 startActivity(intent); 37 } 38 }); 39 } 40}
SubActivity.java
java
1import android.content.Intent; 2import android.os.Bundle; 3import android.support.v7.app.AppCompatActivity; 4import android.view.View; 5import android.widget.Button; 6 7public class SubActivity extends AppCompatActivity{ 8 9 10 public void onCreate(Bundle savedInstanceState) { 11 super.onCreate(savedInstanceState); 12 13 Intent a = getIntent(); 14 String name = a.getStringExtra("name"); 15 String b = "meeting"; 16 String name1 = a.getStringExtra("name1"); 17 String c = "data_input"; 18 19 if (name.equals(b)) { 20 21 setContentView(R.layout.activity_sub); 22 23 Button kaigi_return = (Button) findViewById(R.id.kaigi_return); 24 25 kaigi_return.setOnClickListener(new View.OnClickListener() { 26 @Override 27 public void onClick(View view) { 28 finish(); 29 } 30 31 32 }); 33 34 35 } 36 if (name1.equals(c)){ 37 38 setContentView(R.layout.activity_sub_data); 39 40 Button data_return = (Button)findViewById(R.id.data_return); 41 42 data_return.setOnClickListener(new View.OnClickListener(){ 43 @Override 44 public void onClick(View view){ 45 finish(); 46 } 47 48 }); 49 50 } 51 } 52}
###補足情報(言語/FW/ツール等のバージョンなど)
java、Android Studio
回答2件
あなたの回答
tips
プレビュー