【问题标题】:Add each element of a string on a new line in ArrayList [duplicate]在ArrayList中的新行上添加字符串的每个元素[重复]
【发布时间】:2016-07-21 17:58:54
【问题描述】:

我有一个String、一个ArrayList<String> 和一个Spinner

在我的代码中,我在ArrayList 中添加String 元素,然后在Spinner 中添加元素。一切都很好,除了所有内容都在一行中,我希望每个元素(“一、二、三、四”)都在一个新行中。

主要问题是我不知道String对象包含什么,但我设法将String中的单词分开。

那么...如何在字符串中的每个单词后换行,然后将其添加到微调器中的新行上?

注意:我不知道 String accounts 包含什么或其中有多少值。我从 post 方法接收字符串。

JSONArray userAcounts = objects.getJSONArray("Accounts");

for (int i = 0;i < userAcounts.length();i++){
    JSONObject myStreamingAcounts = userAcounts.getJSONObject(i);
    accountType += myStreamingAcounts.getString("Type");
}
ArrayList<String> spinnerAccounts = new ArrayList<>();

Spinner accounts = (Spinner)findViewById(R.id.accounts);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,spinnerAccounts);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
accounts.setAdapter(adapter);
spinnerAccounts.add(System.lineSeparator());
spinnerAccounts.add(accountID.toString());

【问题讨论】:

  • 我发布了一个答案,但现在当我再次阅读您的问题时,我对您的真正意思感到困惑...您要添加到 Spinner 的单词在哪里?他们是在accountID.toString() 还是userAccounts
  • 您能否提供您可能收到的 JSONArray 样本

标签: android json string arraylist android-spinner


【解决方案1】:

也许我弄错了,但是您的accountID.toString() 是否包含这些字词?如果是这样,你可以这样做:

    String[] words = accountID.toString().split(" ");
    for( String word : words ){
        spinnerAccounts.add(word)
    }

我在这里假设单词是用空格分隔的。

【讨论】:

    【解决方案2】:

    试试这样的

    1. 获取 Spinner 并设置适配器
    2. 循环遍历 JSON 数组
    3. 从 JSON 对象中获取字符串值并添加到适配器
    Spinner accounts = (Spinner)findViewById(R.id.accounts);
    
    ArrayList<String> spinnerAccounts = new ArrayList<>();
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,spinnerAccounts);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    accounts.setAdapter(adapter);
    
    JSONArray userAcounts = objects.getJSONArray("Accounts");
    for (int i = 0; i < userAcounts.length(); i++){
        JSONObject myStreamingAcounts = userAcounts.getJSONObject(i);
        adapter.add(myStreamingAcounts.getString("Type"));
    }
    
    // Not sure why you needed these...
    // adapter.add(System.lineSeparator());
    // adapter.add(accountID.toString());
    

    【讨论】:

      猜你喜欢
      • 2021-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-19
      相关资源
      最近更新 更多