开发者社区 问答 正文

如何修复ListView值单个字符串为Android具有多个值

String sessionId = getIntent().getStringExtra("numbers");
final String[] values = new String[]{sessionId};
ArrayList list = new ArrayList<>(Arrays.asList(values));
final ArrayList arrayList = new ArrayList();

for (int i = 0; i < values.length; i++)
{
    Log.d(TAG, "listValue -" + values[i]);
    arrayList.add(values[i]);
}

listView = (ListView)findViewById(R.id.textView2);
listView.setAdapter(new 

ArrayAdapter(ListDisplayActivity.this,R.layout.list_display,R.id.text, arrayList));


如何修复ListView值单个字符串具有多个Android值?

展开
收起
Puppet 2019-12-05 12:57:08 369 分享 版权
阿里云 AI 助理回答

从您的代码片段来看,您似乎是想将一个字符串(sessionId)转换为列表项,并在ListView中显示。但是,您的循环逻辑似乎有些问题,因为它没有实际执行任何操作来修改或添加到列表中。如果您的目标是将单个字符串分割成多个部分并将其作为列表项展示,这里有一个可能的解决方案:

首先,确保您的字符串(sessionId)包含了可以分割的数据,比如用逗号分隔的值。如果是这样,您可以使用split方法来分割字符串,然后将结果放入列表中。

下面是一个示例代码,展示了如何正确地处理这种情况:

String sessionId = getIntent().getStringExtra("numbers");
// 假设sessionId是一个由逗号分隔的字符串,如"123,456,789"
String[] values = sessionId.split(","); // 使用逗号作为分隔符进行分割

ArrayList<String> arrayList = new ArrayList<>(Arrays.asList(values)); // 直接转换为ArrayList

// 如果需要对列表项进行进一步处理,可以在这里添加逻辑
// 例如,转换格式、过滤等

// 接下来,您需要设置适配器并将arrayList绑定到ListView
// 假设您已经有了一个ArrayAdapter和ListView的实例
// ArrayAdapter<String> adapter = ...;
// ListView listView = ...;

// adapter.clear();
// adapter.addAll(arrayList);
// adapter.notifyDataSetChanged();

// 或者如果您还没创建adapter
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, arrayList);
ListView listView = findViewById(R.id.your_list_view_id); // 替换为您的ListView的ID
listView.setAdapter(adapter);

这段代码首先使用split方法根据逗号将sessionId分割成字符串数组,然后直接将这个数组转换成ArrayList。之后,您需要设置一个ArrayAdapter并将这个ArrayList绑定到ListView上以显示数据。请根据您的具体需求调整ListView和Adapter的初始化代码。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答