Java 如何修复此代码以链接微调器以显示使用类填充的数组中的教区名称?

Java 如何修复此代码以链接微调器以显示使用类填充的数组中的教区名称?,java,android,xml,spinner,android-arrayadapter,Java,Android,Xml,Spinner,Android Arrayadapter,我无法使setAdapter为我的项目正常工作。我需要java类(例如Aghyaran)中的字符串“Name”在微调器中显示为选项 public class MainActivity extends AppCompatActivity { private ArrayList<parish> parishArrayList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCre

我无法使setAdapter为我的项目正常工作。我需要java类(例如Aghyaran)中的字符串“Name”在微调器中显示为选项

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);

 }
}
public类MainActivity扩展了AppCompatActivity{
私人ArrayList parishArrayList;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
parishArrayList=新的ArrayList();
添加(新教区(1,“Aghyaran”、“Termonamangan,N.West Tyrone”、“下午6:30”、“上午10:00”);
添加(新教区(2,“卡斯特莱德伯格”,“卡斯特莱德伯格,北西蒂龙”,“晚上7点”,“上午11点”);
微调器微调器=(微调器)findViewById(R.id.Spinner);
ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u微调器\u项,parishArrayList);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
旋转器。设置适配器(适配器);
}
}

如果只需要显示“Aghyaran”之类的名称,可以使用
列表而不是“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);
List categories=new ArrayList();
类别。添加(“Aghyaran1”);
类别。添加(“Aghyaran2”);
类别。添加(“Aghyaran3”);
类别。添加(“Aghyaran4”);
ArrayAdapter dataAdapter=新的ArrayAdapter(这是android.R.layout.simple\u微调器\u项,类别);
dataAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉项);
spinner.setAdapter(dataAdapter);
更多:

如果需要使用所有
教区
对象
,则必须创建自定义适配器。
更多信息:

您应该使用自定义适配器如何将其链接到parish类的ArrayList override toString()方法,以返回要显示的字段。希望这有帮助:)谢谢,但是如果我想让它与parish类中的对象链接,那么这会起作用吗?我希望能够在微调器列表中显示名称,例如“Aghyaran”和“Castlederg”,然后当用户选择这些名称时,它会显示另一个作为变量存储在object@OisínJohnMcHugh如果您使用自定义适配器,它将起作用