Adi*_*ilp 1 string android arraylist
尝试将字符串的Arraylist转换为一个逗号分隔的大字符串.
但是当我使用的时候
String joined = TextUtils.join(", ", participants);
Run Code Online (Sandbox Code Playgroud)
调试器显示参与者的大小为4,但是联接的值为""因此为空
private ArrayList<String> participants;
Run Code Online (Sandbox Code Playgroud)
不确定出了什么问题?
更新:
List<String> list = new ArrayList<>();
list.add("Philip");
list.add("Paul Smith");
list.add("Raja");
list.add("Ez");
String s = TextUtils.join(", ", list);
Run Code Online (Sandbox Code Playgroud)
这有效,当我有一个我手动填充的列表,但下面是代码现在如何工作.
在onCreate()
callApi(type);
String s = TextUtils.join(", ", participants);
getSupportActionBar().setTitle(s);
Run Code Online (Sandbox Code Playgroud)
在callAPI()中:
JSONArray participantsR = sub.getJSONArray("referralParticipants");
Log.e("Participants length ", String.valueOf(participantsR.length()));
for (int i = 0; i < participantsR.length(); i++)
{
JSONObject object = participantsR.getJSONObject(i);
String firstname = (String) object.get("fullName");
participants.add(firstname);
Log.e("Times", String.valueOf(i));
}
Run Code Online (Sandbox Code Playgroud)
MrM*_*ood 10
我正在尝试重现您的错误而无法做到.这是我的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_temp);
List<String> list = new ArrayList<>();
list.add("Philip Johnson");
list.add("Paul Smith");
list.add("Raja P");
list.add("Ezhu Malai");
String s = TextUtils.join(", ", list);
Log.d(LOGTAG, s);
}
Run Code Online (Sandbox Code Playgroud)
我的输出Philip Johnson, Paul Smith, Raja P, Ezhu Malai符合预期.
您是否导入了正确的TextUtils类?
android.text.TextUtils;
鉴于新信息,这是我的方法:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_temp);
callApi(type, new OnResponseListener<List<String>>() {
@Override public void onResponse(List<String> list) {
getSupportActionBar().setTitle(TextUtils.join(", ", list));
}
});
}
Run Code Online (Sandbox Code Playgroud)
我不知道您正在使用什么网络库,但您可能必须将OnResponseListener定义为接口.这很容易:
public interface OnResponseListener<T> {
public void onResponse(T response);
}
Run Code Online (Sandbox Code Playgroud)
然后,您需要修改callApi函数以获取OnResponseListener>的实例,并在完成调用后调用它的onResponse方法.
我建议您查看Volley库,并阅读有关简单网络调用的Android文档.
| 归档时间: |
|
| 查看次数: |
4402 次 |
| 最近记录: |