如何从arrayList

我想从另一个活动收到的ArrayList中填充一个列表视图,但是我不知道如何仅显示国家名称。

这是我尝试过的。这只会显示我国家的地址,而不是名称。

lv = (ListView) findViewById(R.id.listViewCountries);

lv.setadapter(new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,countries));

我希望有一个只列出国家名称的listView,当我按其中一个国家打开活动以显示有关该国家的信息时。

supportjj 回答:如何从arrayList

由于使用的是默认实现,例如['TOBY','JAMES','KATE','GEORGE','RICK','ALEX','JEIN','MEDELIN'],因此您已经为项目列表预先构建了xml,因此无法以正确的方式进行更改。您需要使用新的FragmentList实现自定义实现。

在询问此问题之前,请先搜索信息。您可以find in another answer使用基本示例。

,

您可以创建另一个数组,例如:

Arraylist <String> array2 = new ArrayList() ;
for (Country country : countries){
 array2.add(country.getname())}

然后在微调器中,放置array2而不是国家。

由于您以相同的顺序添加了它们,因此它们的索引将与国家(地区)数组中的索引相同,因此,如果您想返回国家(例如),则在选定的项目侦听器中,您只需要像

Country selectedcountry = countries.get(position);

这是我用于联系人列表的方法:

String [] contractList = new String[user.getUserContractsList().size()];
        for (int i = 0; i < user.getUserContractsList().size(); i ++){
            contractList[i] = user.getUserContractsList().get(i).getCONTRACT_NAME();
        }
        //Setting the spinner
        ArrayAdapter adapter = new ArrayAdapter(getContext(),android.R.layout.simple_list_item_1,contractList);
        spin.setAdapter(adapter);
        spin.setOnItemSelectedListener(this);

然后在用户选择一个项目时取回联系值:

@Override
    public void onItemSelected(AdapterView<?> parent,View view,int position,long id) {
        contract = user.getUserContractsList().get(position);
    }

我不知道这对您来说清楚吗?

本文链接:https://www.f2er.com/3156696.html

大家都在问