은 내가 variable
는 taskArray
라는 이름의 생성이나는 내 ArrayList의에 추가 할 수 없습니다 [안드로이드] 내 수업에서
public class ActivityOne extends Activity {
ArrayList<WorkTask> taskArray = null;
@Override
protected void onCreate(Bundle savedState) {
taskArray = new ArrayList<WorkTask>();
final GetTasks getTasks = new GetTasks();
getTasks.execute();
Handler handler = new Handler();
handler.postDelayed(new Runnable()
{
@Override
public void run() {
if (getTasks.getStatus() == AsyncTask.Status.RUNNING) {
getTasks.cancel(true);
Toast.makeText(ActivityOne.this, "Connection Timeout", Toast.LENGTH_SHORT).show();
}
}
}, 60000);
}
처럼 내 onCreate
에 초기화 그리고 나의 AsyncTask
doInBackground
에서 내가의 데이터를 추가 해요에서 branchesArray
하지만 추가하지 않습니다. 그것이 올바르게 작동하기 전에,하지만 지금은 그렇지 않습니다. 이
public final class GetTasks extends AsyncTask<Void, Void, Employee> {
protected Employee doInBackground(Void... params) {
try
{
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(URL_STRING);
HttpResponse response = httpclient.execute(httpget);
str = EntityUtils.toString(response.getEntity());
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try{
JSONObject jsonObject = new JSONObject(str);
JSONObject data = jsonObject.getJSONObject("DATA");
//Employee info
empObj = new Employee();
empObj.setId(data.getInt("id"));
empObj.setName(data.getString("name").toString());
JSONArray jArray = data.getJSONArray("worktask");
for (int i = 0, count = jArray.length(); i < count; i++) {
JSONObject jObj = jArray.getJSONObject(i);
WorkTask workTask = new WorkTask();
workTask.setId(jObj.getInt("id"));
workTask.setTaskName(jObj.getInt("task_name"));
taskArray.add(workTask);
}
}catch (JSONException e){
e.printStackTrace();
return null;
}
return empObj;
}
가 여기 내 모델 WorkTask
public class WorkTask implements Serializable {
private int id;
private String taskName;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getTaskName() {
return taskName;
}
public void setTaskName(int taskName) {
this.taskName = taskName;
}
올바르게 작동하지 않는 이유는 코드가 잘못되었다는 것입니다. 코드에 어떤 문제가 있는지에 대한 자세한 정보가 필요하면 어떻게 작동하지 않는지에 대한 구체적인 정보를 제공하십시오. – ajb
@ajb 코드를 업데이트했습니다. 그것을 디버깅 할 때,'taskArray.add()'에 가지 않는다. – natsumiyu