как поставить 2 счетчика на 1 действие с одинаковыми параметрами?

во-первых, я новичок в использовании этой программы, поэтому любая помощь приветствуется. Мне нужен счетчик 1, чтобы показать 7 городов, которые пользователь может выбрать, и счетчик 2, чтобы показать те же 7 городов, которые может выбрать пользователь.

У меня есть код ниже, но мой наставник говорит, что это неправильно, и он не будет работать для вторых счетчиков, которые я пытался найти, но, похоже, это так.

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Spinner spinner = findViewById(R.id.spinner1);

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.Cities, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
    spinner.setOnItemSelectedListener(this);
}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    String text = parent.getItemAtPosition(position).toString();
    Toast.makeText(parent.getContext(), text, Toast.LENGTH_SHORT).show();
}

@Override
public void onNothingSelected(AdapterView<?> parent)


{

}

}

Spinner 1 должен быть начальным пунктом назначения, а spinner 2 должен быть пунктом назначения, к которому они направляются. как только пользователь выбирает параметры, он сообщает им расстояние от счетчика 1 до счетчика 2 (расстояния уже даны нам в таблице)


person vele21    schedule 01.05.2019    source источник
comment
проверьте этот ответ stackoverflow.com/a/9263046/7666442, вы получите подсказку, как использовать один и тот же setOnItemSelectedListener() для нескольких spinner   -  person AskNilesh    schedule 01.05.2019


Ответы (1)


Ваш код содержит только один счетчик.

Spinner spinner = findViewById(R.id.spinner1);

Определите еще один счетчик в XML и назначьте тот же адаптер для нового счетчика и установите отдельный OnItemSelectedListener для каждого счетчика.

Получите значения (названия городов) от каждого счетчика и рассчитайте расстояние.

person satuser    schedule 01.05.2019