使用String [] data

时间:2018-01-21 13:54:22

标签: android json android-arrayadapter android-spinner

我有来自服务器的JSON数据,我想只将名称列填充到Android Spinner中。不幸的是我得到没有错误,但Spinner没有显示我添加到适配器的名称。 这是我的JSON:

{
"total": 1,
"data": [
    {
        "id": 2,
        "isDefault": false,
        "accountNumber": "000000000087",
        "accountName": null,
        "isVerified": true,
        "providerId": 2,
    }
],
"message": "Records Loaded",
"success": true
}

我只需要将accountNumber添加到Spinner,如果我有多个数据,我应该能够将所有accountNumbers添加到Spinner。

这是我的代码:

try{
                    String[] names = new String[response.body().getData().length];
                    Data[] wallets = response.body().getData();
                    for (Data wallet : wallets) {
                        addToWallets(wallet);
                    }
                    int i = 0;
                    for(Data o : response.body().getData()){
                        names[i] = o.getAccountNumber();
                        i++;
                    }
                    Log.i("loadAllWalletsAPI", "all wallets API working successfully");
                    Spinner spinner = new Spinner(getActivity());
                    ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>
                            (getActivity(), android.R.layout.simple_spinner_item,
                                    names); //selected item will look like a spinner set from XML
                    spinnerArrayAdapter.setDropDownViewResource(android.R.layout
                            .simple_spinner_dropdown_item);
                    spinner.setAdapter(spinnerArrayAdapter);

                }catch (Exception e){
                    e.printStackTrace();
                }

1 个答案:

答案 0 :(得分:1)

有时,微调器中文本的默认颜色为白色,因此您无法看到它。尝试用您自己的xml替换android.R.layout.simple_spinner_item,并将android:textColor =“@ color / black”添加到其中的文本视图中。

这是simple_spinner_item.xml

的一个简单示例
<?xml version="1.0" encoding="utf-8"?>

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:gravity="center"
    android:textColor="#000"
    />