单击单元格时,对象将添加到数组中。这个数组需要传递到另一个活动中。出于测试目的,我传递了只有一个对象 DoctorObject 的数组。然后在下一个活动中,我使用 .getName() 以字符串形式获取名称并将其显示在吐司中。然而吐司是空的。
这是代码的一些片段
目的:
public class DoctorObject implements Parcelable {
private List<Object> mChildrenList;
public DoctorObject(String name) {
Docname = name;
}
public DoctorObject (Parcel in){
this.DocPic = in.readInt();
this.Docname= in.readString();
this.Docspecialty = in.readString();
this.DocLocation = in.readString();
}
String Docname = "";
public String getDocname() {
return Docname;
}
public void setDocname(String docname) {
Docname = docname;
}
public int getDocPic() {
return DocPic;
}
public void setDocPic(int docPic) {
DocPic = docPic;
}
public String getDocspecialty() { …Run Code Online (Sandbox Code Playgroud) 我试图创建一个ToDo列表.我承认我还在学习如何使用片段,但我认为我的问题与片段的设计方式存在冲突.现在我有一个任务片段.我将在哪里添加任务,并在下面有一个列表.当我输入时,我点击添加按钮,它应该显示在列表中.我还有一个list_inner_view,其中有一个复选框.
现在在xml我调用了android:onClick ="addTaskNow"方法.
这是我的代码.
我的fragment_tasks.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".FragmentTasks" >
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:ems="10" >
<requestFocus />
</EditText>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="14dp"
android:text="Add"
android:onClick="addTaskNow"/>
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/button1" >
</ListView>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
我的FragmentTasks.java
package com.example.navbar;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.Toast;
/**
* A simple …Run Code Online (Sandbox Code Playgroud) 我正在尝试发布一个帖子。
RequestBody formBody = new FormBody.Builder()
.add("userId", userId)
.add("patientName", patient.getName())
.add("patientDob", patient.getDOB())
.add("referralFor", patient.getFor())
.add("patientPhoto", "")
.add("message", "test")
.add("referralParticipants", )
.build();
Run Code Online (Sandbox Code Playgroud)
但是ReferralParticipants是一个json数组。这也可能是动态的。我不确定如何执行此操作,因为表单数据中没有任何内容,似乎只是发送了原始的json?
尝试将字符串的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)