1つのActivityを複数のclassで呼び出す
解決済
回答 1
投稿
- 評価
- クリップ 1
- VIEW 1,348
Activityと同時に作成されたInput classとまったく同じ内容のInput_a1 classを作成しました。
エラーなどは表示されないのですが、エミュレーターでInput_a1 class を呼び出したときのみ強制終了してしまいます。
想定ではどちらもactivity_inputを開きたいのですがどこがおかしいのでしょうか?
public class Input extends AppCompatActivity {
public final static String EXTRA_KAI = "com.example.sample.name.KAI";
public final static String EXTRA_TOU = "com.example.sample.name.TOU";
public final static String EXTRA_KAN = "com.example.sample.name.KAN";
public final static String EXTRA_KAS = "com.example.sample.name.KAS";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_input);
}
public void get_result (View view){
EditText kai = (EditText) findViewById(R.id.kai);
String kai1 =kai.getText().toString().trim();
EditText tou = (EditText) findViewById(R.id.tou);
String tou1 = tou.getText().toString().trim();
EditText kan = (EditText) findViewById(R.id.kan);
String kan1 = kan.getText().toString().trim();
EditText kas = (EditText) findViewById(R.id.kas);
String kas1 = kas.getText().toString().trim();
Intent intent = new Intent(this,Result.class);
intent.putExtra(EXTRA_KAI, kai1);
intent.putExtra(EXTRA_TOU, tou1);
intent.putExtra(EXTRA_KAN, kan1);
intent.putExtra(EXTRA_KAS, kas1);
startActivity(intent);
}
}
コード
public class Input_a1 extends AppCompatActivity {
public final static String EXTRA_KAI = "com.example.sample.name.KAI";
public final static String EXTRA_TOU = "com.example.sample.name.TOU";
public final static String EXTRA_KAN = "com.example.sample.name.KAN";
public final static String EXTRA_KAS = "com.example.sample.name.KAS";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_input);
}
public void get_result (View view){
EditText kai = (EditText) findViewById(R.id.kai);
String kai1 =kai.getText().toString().trim();
EditText tou = (EditText) findViewById(R.id.tou);
String tou1 = tou.getText().toString().trim();
EditText kan = (EditText) findViewById(R.id.kan);
String kan1 = kan.getText().toString().trim();
EditText kas = (EditText) findViewById(R.id.kas);
String kas1 = kas.getText().toString().trim();
Intent intent = new Intent(this,Result.class);
intent.putExtra(EXTRA_KAI, kai1);
intent.putExtra(EXTRA_TOU, tou1);
intent.putExtra(EXTRA_KAN, kan1);
intent.putExtra(EXTRA_KAS, kas1);
startActivity(intent);
}
}
コード
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.34%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2016/08/15 12:46
2016/08/15 12:49
2016/08/15 12:52
2016/08/15 12:55
「Input_a1 class を呼び出したときのみ強制終了してしまう」のが問題ではなかったのですか?
2016/08/15 13:04
2016/08/15 13:09
今ひとつ何をしたいのかわからないのですが、クラス2種類あって、どちらもInputというActivityを出したいということですか?
言ってることがむちゃくちゃですよそれ。
2016/08/15 13:16 編集
同じレイアウトのInput_a1というActivityを作成する必要があるということですか?
2016/08/15 13:21
いずれにせよ、新たにActivityを作り、そのActivityを使うというのであれば、マニフェストファイルにそのActivityを登録する必要があります。
2016/08/15 13:34
実際にはget_resultのときに呼び出すクラスをResultとResult_a1と変更するつもりですが、現在の問題としてはget_resultまで行けていないのでまったく同じクラスとして質問させていただきました。
同じ画面構成のActivityを呼び出すにはどうすればいいですか?
2016/08/15 13:40
同じ内容のActivityでも構成上は別のActivityなので、マニフェストファイルにActivityを登録する必要があります。
また、あとに飛ぶActivityを変えるというのであれば、飛ぶ際に条件分岐すればいいだけの話ですが、この話は今は置いておきます。
2016/08/15 13:46
setContentView(R.layout.activity_input);ここはそのままでよいということですか?
2016/08/15 13:48
2016/08/15 13:56
理解することができました。親切にありがとうございます。