Как я могу исправить этот код, чтобы связать мой счетчик, чтобы отобразить название прихода из массива, заполненного с помощью класса? - PullRequest
0 голосов
/ 25 октября 2018

Я не могу заставить setAdapter корректно работать для моего проекта.Мне нужно String "Name" из моего java-класса, например, Aghyaran для отображения в качестве опции в блесне

public class MainActivity extends AppCompatActivity {

private ArrayList<parish> parishArrayList;


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


    parishArrayList = new ArrayList<>();
    parishArrayList.add(new parish(1, "Aghyaran", "Termonamongan, N.West Tyrone", "6.30pm", "10.00am"));
    parishArrayList.add(new parish(2, "Castlederg", "Castlederg, N.West Tyrone", "7pm", "11.00am"));


    Spinner spinner = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter <String> adapter = new ArrayAdapter <String> (this, android.R.layout.simple_spinner_item, parishArrayList);

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    spinner.setAdapter(adapter);

 }
}

1 Ответ

0 голосов
/ 25 октября 2018

Если вам нужно отобразить только имя типа "Агьяран" , вы можете использовать List<String> вместо `ArrayList.

List<String> categories = new ArrayList<String>();
categories.add("Aghyaran1");
categories.add("Aghyaran2");
categories.add("Aghyaran3");
categories.add("Aghyaran4");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);

Подробнее: https://www.tutorialspoint.com/android/android_spinner_control.htm

Если вам нужно работать с all parish object , вы должны создать собственный адаптер.Подробнее: https://www.codingdemos.com/android-custom-spinner-images-text/

...