まだデータ入力の途中ではあるのですが、Aの画面で押されたボタンによってそれぞれ違った数値をInput、Resultと受け渡していきResultの計算で使用したいです。
例えばa1をおすと1218.0と99.9、a2をおすと4562.0と245.5をResultの計算に代入したいという仕組みです。a3,a4,,,,に関してもこれからデータを入れていくつもりです。
以下のように書いてみたのですが、今のままだとResultまで121.8,99.9といった値の受け渡しができていないようです。値がnullとなってしまっていました。
受け渡しでどこが間違えているのか教えていただきたいです。
またボタンごとに違った値を受け渡すのにいまのコードであっているのでしょうか?
<LinearLayout> <ScrollView> <LinearLayout"> <Button android:id="@+id/a1" android:onClick="get_a1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/a1"/> <Button android:id="@+id/a2" android:onClick="get_a2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/a2"/> <Button android:id="@+id/a3" android:onClick="get_a3" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/a3"/> <Button android:id="@+id/a4" android:onClick="get_a4" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/a4"/> <Button android:id="@+id/a5" android:onClick="get_a5" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/a5"/> </LinearLayout> </ScrollView> </LinearLayout> public class A extends AppCompatActivity { public final static String A1_AVE = "com.example.sample.name.A1_AVE"; public final static String A1_PRO = "com.example.sample.name.A1_PRO"; public final static String A2_AVE = "com.example.sample.name.A1_AVE"; public final static String A2_PRO = "com.example.sample.name.A1_PRO"; double a1_ave = 1218.0; double a1_pro = 99.9; double a2_ave = 4562.0; double a2_pro = 245.5; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_a); } public void get_a1 (View view){ Intent intent = new Intent(this,Input.class); intent.putExtra(A1_AVE,a1_ave); intent.putExtra(A1_PRO,a1_pro); startActivity(intent); } public void get_a2 (View view){ Intent intent = new Intent(this,Input.class); intent.putExtra(A2_AVE,a2_ave); intent.putExtra(A2_PRO,a2_pro); startActivity(intent); } public void get_a3 (View view){ Intent intent = new Intent(this,Input.class); startActivity(intent); } public void get_a4 (View view){ Intent intent = new Intent(this,Input.class); startActivity(intent); } public void get_a5 (View view){ Intent intent = new Intent(this,Input.class); startActivity(intent); } } コード
<TableLayout> <TableRow> <TextView android:text="@string/kai"></TextView> <EditText android:id="@+id/kai" android:layout_weight="1" android:layout_height="wrap_content" android:layout_width="0dp"/> </TableRow> <TableRow> <TextView android:text="@string/tou"></TextView> <EditText android:id="@+id/tou" android:layout_weight="1" android:layout_height="wrap_content" android:layout_width="0dp"/> </TableRow> <TableRow> <TextView android:text="@string/kan"></TextView> <EditText android:id="@+id/kan" android:layout_weight="1" android:layout_height="wrap_content" android:layout_width="0dp"/> </TableRow> <TableRow> <TextView android:text="@string/kas"></TextView> <EditText android:id="@+id/kas" android:layout_weight="1" android:layout_height="wrap_content" android:layout_width="0dp"/> </TableRow> <Button android:onClick="get_result" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/cul"/> </TableLayout> 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"; /* public final static String A1_AVE = "com.example.sample.name.A1_AVE"; public final static String A1_PRO = "com.example.sample.name.A1_PRO"; public final static String A2_AVE = "com.example.sample.name.A2_AVE"; public final static String A2_PRO = "com.example.sample.name.A2_PRO";*/ /* Intent intent1 = getIntent(); Double a1_ave = intent1.getDoubleExtra(A.A1_AVE); Double a1_pro = intent1.getDoubleExtra(A.A1_PRO); Double a2_ave = intent1.getDoubleExtra(A.A2_AVE); Double a2_pro = intent1.getDoubleExtra(A.A2_PRO);*/ @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); /* intent.putExtra(A1_AVE,a1_pro); intent.putExtra(A1_PRO,a1_pro); intent.putExtra(A2_AVE,a2_ave); intent.putExtra(A2_PRO,a2_pro);*/ startActivity(intent); } } コード
<TableLayout> <TableRow> <TextView android:text="@string/per1000"/> <TextView android:id="@+id/per1000"/> <TextView android:text="@string/kai"/> </TableRow> <TableRow> <TextView android:text="@string/per1"/> <TextView android:id="@+id/per1"/> <TextView android:text="@string/yen"/> </TableRow> <TableRow> <TextView android:text="@string/now"/> <TextView android:id="@+id/now"/> <TextView android:text="@string/yen"/> </TableRow> </TableLayout> public class Result extends AppCompatActivity { Intent intent1 = getIntent(); Double a1_ave = intent1.getDoubleExtra(A.A1_AVE); Double a1_pro = intent1.getDoubleExtra(A.A1_PRO); Double a2_ave = intent1.getDoubleExtra(A.A2_AVE); Double a2_pro = intent1.getDoubleExtra(A.A2_PRO); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_result); Intent intent = getIntent(); String kai1 = intent.getStringExtra(Input.EXTRA_KAI); String tou1 = intent.getStringExtra(Input.EXTRA_TOU); String kan1 = intent.getStringExtra(Input.EXTRA_KAN); String kas1 = intent.getStringExtra(Input.EXTRA_KAS); /* Double a1_ave = intent.getDoubleExtra(Input.A1_AVE); Double a1_pro = intent.getDoubleExtra(Input.A1_PRO); Double a2_ave = intent.getDoubleExtra(Input.A2_AVE); Double a2_pro = intent.getDoubleExtra(Input.A2_PRO);*/ double kai = Double.parseDouble(kai1); double tou = Double.parseDouble(tou1); double kan = Double.parseDouble(kan1); double kas = Double.parseDouble(kas1); double kait = kai / tou * 1000; double kita = (Aで決めた値を入れたい ave) * kan / (Aで決めた値を入れたい pro) - tou / kai; double kit = kita * kai; String kait2 = String.valueOf(kait); String kita2 = String.valueOf(kita); String kit2 = String.valueOf(kit); TextView kait3 = (TextView) findViewById(R.id.per1000); kait3.setText(kait2); TextView kita3 = (TextView) findViewById(R.id.per1); kita3.setText(kita2); TextView kit3 = (TextView) findViewById(R.id.now); kit3.setText(kit2); } } コード
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/13 15:07
2016/08/13 15:17
2016/08/13 15:22
2016/08/13 15:38
2016/08/13 15:54
2016/08/13 16:18
2016/08/13 16:19
2016/08/13 16:27
2016/08/13 16:33
2016/08/13 16:43
2016/08/13 16:47
2016/08/13 16:49
2016/08/14 14:38
2016/08/14 16:10
2016/08/14 16:44
2016/08/14 16:49
2016/08/14 17:40