It is necessary that the application calculates the arithmetic average population countries selected by the user. But now the application only displays in main3activity 0.
public class Main2Activity extends AppCompatActivity implements View.OnClickListener { String[] countries = {"Urugay", "Paraguay", "Jamaica", "Peru", "Mexico"}; int[] population = {6770000, 2300000, 500000, 6310000, 7000000}; Button btnSubmit; int sum; ListView countriesList; int average; @RequiresApi(api = Build.VERSION_CODES.N) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); Map<String, Integer> countryData = new HashMap<>(countries.length); for (int i = 0; i < countries.length; i++) { countryData.put(countries[i], population[i]); } countryData.forEach((key, value) -> System.out.println(key + " -> " + value)); ListView countriesList = findViewById(R.id.countriesList); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, countries); countriesList.setAdapter(adapter); int sum = 0; for (int i = 0; i < population.length; i++) { sum += population[i]; average = sum / population.length; } btnSubmit = findViewById(R.id.btnSubmit); btnSubmit.setOnClickListener(this); } @Override public void onClick(View view) { Intent intent = new Intent(this, Main3Activity.class); intent.putExtra("average", average); startActivity(intent); } } Main3Activity
public class Main3Activity extends AppCompatActivity { TextView tvView; int average; int defaultValue = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main3); tvView = (TextView) findViewById(R.id.tvView); Intent mIntent = getIntent(); average = mIntent.getIntExtra("average", 0); tvView.setText("Average: " + average); } } Tell me what's wrong?
average = mIntent.getIntExtra("average", 0);useaverage = mIntent.getExtras().getInt("average", 0);- YurySPb ♦