2013-04-15 27 views
3

在以下代碼中,我搜索HighScore類以獲得按升序排序的最佳時間結果。 所以我得到最好的結果列表。 我有困難,什麼是添加名字和學校名稱,每次結果列表。(請參見附件圖片)Android - Parse.com檢索查詢的整個對象並在ArrayList中顯示

private class RemoteDataTask extends AsyncTask<Void, Void, Void> { 
    // Override this method to do custom remote calls 
    protected Void doInBackground(Void... params) { 
     // Gets the current list of bestTime in sorted order 
     ParseQuery query = new ParseQuery("TestsTopRecords"); 
     query.orderByAscending("bestTime"); 

     try { 
      results = query.find(); 
     } catch (ParseException e) { 

     } 
     return null; 
    } 

    @Override 
    protected void onPreExecute() { 
     HighScoreTable.this.progressDialog = ProgressDialog.show(HighScoreTable.this, "", 
       "Loading...", true); 
     super.onPreExecute(); 
    } 

    @Override 
    protected void onProgressUpdate(Void... values) { 

     super.onProgressUpdate(values); 
    } 

    @Override 
    protected void onPostExecute(Void result) { 
     // Put the list of results into the list view 
     ArrayAdapter<Double> adapter = new ArrayAdapter<Double>(HighScoreTable.this,R.layout.todo_row); 
     for (ParseObject object : results) { 
      adapter.add((Double) object.get("bestTime")); 
     } 
     setListAdapter(adapter); 
     HighScoreTable.this.progressDialog.dismiss(); 
     TextView empty = (TextView) findViewById(android.R.id.empty); 
     empty.setVisibility(View.VISIBLE); 
    } 
} 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_high_score_table); 

    TextView empty = (TextView) findViewById(android.R.id.empty); 
    empty.setVisibility(View.INVISIBLE); 

    new RemoteDataTask().execute(); 
    registerForContextMenu(getListView()); 
} 

How I would like it to look like

ScreenShot of the Prase.com DataBase

+0

你嘗試一些喜歡做自己的類型(而不是雙)你ArrayAdapter,包含雙和2串(姓名和城市),然後在用於添加最近創建的包含您需要的3個值的yourTypeObject(double和2個字符串)對象? – Arcayne

回答

0

這裏有可能最簡單的方法來做到這一點。

使用String代替Double併爲此

ArrayAdapter<String> adapter = new ArrayAdapter<String>(HighScoreTable.this,R.layout.todo_row); 
for (ParseObject object : results) { 
    adapter.add((Double) object.get("bestTime") + " " + object.getString("Name") + " " + object.getString("SchoolAndCity")); 
} 
相關問題