困っていること・・
遷移元A(Main.java)
遷移先C(Sub2Activity.java)
AからCに画面遷移し、参加ボタン(画像4)を押してAに遷移してもリスト(lv2)に表示されない。
理想の動作・・・
遷移元A(Main.java)
遷移先C(Sub2Activity.java)
・CからAへ遷移するときに渡したデータをリスト(lv2)に追加し表示したい。
確認できていること
遷移元A(Main.java)
遷移先B(SubActivity.java)
遷移先C(Sub2Activity.java)
・AからBに遷移し、BからAに遷移するときに渡したデータをリスト(lv1)に追加し表示できている。
・AからCに遷移し、Cの参加ボタン(画像4)を押し、CからAに遷移したときには何も起こらない。その後、AからBに遷移し、BからAに遷移すると、先ほどCで参加ボタンをおした項目がリスト(lv2)に追加され表示される。(画像5)
Java
1Main.java 2 3public class Main extends AppCompatActivity { 4 Button bt1, bt2; 5 ListView lv1, lv2; 6 ArrayList<String> content1, place1, date1, time1, number1; 7 ArrayList<String> content2, place2, date2, time2, number2; 8 9 protected void onCreate(Bundle savedInstanceState) { 10 super.onCreate(savedInstanceState); 11 LinearLayout ll = new LinearLayout(this); 12 ll.setOrientation(LinearLayout.VERTICAL); 13 setContentView(ll); 14 15 lv1 = new ListView(this); 16 lv2 = new ListView(this); 17 bt1 = new Button(this); 18 bt2 = new Button(this); 19 20 bt1.setText("募集作成"); 21 bt2.setText("参加予定"); 22 23 content1 = new ArrayList<String>(); 24 place1 = new ArrayList<String>(); 25 date1 = new ArrayList<String>(); 26 time1 = new ArrayList<String>(); 27 number1 = new ArrayList<String>(); 28 content2 = new ArrayList<String>(); 29 place2 = new ArrayList<String>(); 30 date2 = new ArrayList<String>(); 31 time2 = new ArrayList<String>(); 32 number2 = new ArrayList<String>(); 33 34 ArrayAdapter<String> ad1 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, content1); 35 lv1.setAdapter(ad1); 36 37 ArrayAdapter<String> ad2 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, content2); 38 lv2.setAdapter(ad2); 39 40 ll.addView(bt1); 41 ll.addView(lv1); 42 ll.addView(bt2); 43 ll.addView(lv2); 44 45 bt1.setOnClickListener(new ButtonClickListener()); 46 lv1.setOnItemClickListener(new ListViewClickListener()); 47 } 48 class ListViewClickListener implements OnItemClickListener{ 49 public void onItemClick(AdapterView<?>v, View iv, int pos, long id){ 50 Intent intent = new Intent(getApplicationContext(), Sub2Activity.class); 51 52 intent.putExtra("Content", content1.get(pos)); 53 intent.putExtra("Place", place1.get(pos)); 54 intent.putExtra("Date", date1.get(pos)); 55 intent.putExtra("Time", time1.get(pos)); 56 intent.putExtra("Number", number1.get(pos)); 57 58 int RESULT_SUBACTIVITY = 1; 59 startActivityForResult(intent, RESULT_SUBACTIVITY); 60 } 61 } 62 63 class ButtonClickListener implements OnClickListener { 64 public void onClick(View v) { 65 Intent intent = new Intent(getApplicationContext(), SubActivity.class); 66 int RESULT_SUBACTIVITY = 2; 67 startActivityForResult(intent, RESULT_SUBACTIVITY); 68 } 69 } 70 71 protected void onActivityResult(int requestCode, int resultCode, Intent intent) { 72 super.onActivityResult(requestCode, resultCode, intent); 73 switch (requestCode){ 74 case 1: 75 if (resultCode == RESULT_OK) { 76 String text2_view1 = intent.getStringExtra("Content2"); 77 String text2_view2 = intent.getStringExtra("Place2"); 78 String date_2 = intent.getStringExtra("Date2"); 79 String time_2 = intent.getStringExtra("Time2"); 80 String number_2 = intent.getStringExtra("Number2"); 81 82 content2.add(text2_view1); 83 place2.add(text2_view2); 84 date2.add(date_2); 85 time2.add(time_2); 86 number2.add(number_2); 87 } 88 break; 89 case 2: 90 if (resultCode == RESULT_OK) { 91 String text_view1 = intent.getStringExtra("Content"); 92 String text_view2 = intent.getStringExtra("Place"); 93 String date = intent.getStringExtra("Date"); 94 String time = intent.getStringExtra("Time"); 95 String number = intent.getStringExtra("Number"); 96 97 content1.add(text_view1); 98 place1.add(text_view2); 99 date1.add(date); 100 time1.add(time); 101 number1.add(number); 102 } 103 break; 104 default: 105 break; 106 } 107 } 108} 109
Java
1SubActivity.java 2 3public class SubActivity extends AppCompatActivity { 4 5 protected void onCreate(Bundle savedInstanceState) { 6 super.onCreate(savedInstanceState); 7 setContentView(R.layout.activity_sub); 8 9 Button button = (Button)findViewById(R.id.bt2); //ビューのidを用いてオブジェクトを関連付け 10 button.setOnClickListener(new ButtonClickListener()); //ボタンクリック時のリスナー登録 11 } 12 13 class ButtonClickListener implements View.OnClickListener { 14 public void onClick(View v){ 15 Intent intent = new Intent(getApplicationContext(), ExSample.class); 16 ・・・・ 17 18 setResult(RESULT_OK, intent); 19 20 finish(); 21 } 22 } 23}
Java
1Sub2Activity.java 2 3public class Sub2Activity extends AppCompatActivity { 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_sub2); 7 8 TextView text_view1 = findViewById(R.id.text_view1); 9 TextView text_view2 = findViewById(R.id.text_view2); 10 TextView date = findViewById(R.id.date); 11 TextView time = findViewById(R.id.time); 12 TextView number = findViewById(R.id.number); 13 14 String content1, place1, date1, time1, number1; 15 16 Intent intent = getIntent(); 17 content1 = intent.getStringExtra("Content"); 18 place1 = intent.getStringExtra("Place"); 19 date1 = intent.getStringExtra("Date"); 20 time1 = intent.getStringExtra("Time"); 21 number1 = intent.getStringExtra("Number"); 22 23 text_view1.setText(content1); 24 text_view2.setText(place1); 25 date.setText(date1); 26 time.setText(time1); 27 number.setText(number1); 28 29 Button button = (Button)findViewById(R.id.bt); //ビューのidを用いてオブジェクトを関連付け 30 Button button2 = (Button)findViewById(R.id.bt2); //ビューのidを用いてオブジェクトを関連付け 31 button.setOnClickListener(new ButtonClickListener()); //ボタンクリック時のリスナー登録 32 button2.setOnClickListener(new Button2ClickListener()); //ボタンクリック時のリスナー登録 33 } 34 35 class Button2ClickListener implements View.OnClickListener { 36 public void onClick(View v){ 37 Intent intentSub = new Intent(getApplicationContext(), ExSample.class); 38 finish(); 39 } 40 } 41 42 class ButtonClickListener implements View.OnClickListener { 43 public void onClick(View v){ 44 Intent intent = new Intent(getApplicationContext(), ExSample.class); 45 46 TextView text_view1 = findViewById(R.id.text_view1); 47 TextView text_view2 = findViewById(R.id.text_view2); 48 TextView date = findViewById(R.id.date); 49 TextView time = findViewById(R.id.time); 50 TextView number = findViewById(R.id.number); 51 52 intent.putExtra("Content2", text_view1.getText().toString()); 53 intent.putExtra("Place2", text_view2.getText().toString()); 54 intent.putExtra("Date2", date.getText().toString()); 55 intent.putExtra("Time2", time.getText().toString()); 56 intent.putExtra("Number2", number.getText().toString()); 57 58 setResult(RESULT_OK, intent); 59 60 finish(); 61 } 62 } 63 64}
回答1件
あなたの回答
tips
プレビュー