3

次のコードでは、HighScore クラスを検索して、昇順で並べ替えられた最高のタイム結果を探します。だから私は最高の結果のリストを取得しています。苦労したのは、各回のリザルトの名前と学校名をリストに追加することです(添付画像参照)。

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());
}

どのように見せたいですか

Prase.com データベースのスクリーンショット

4

1 に答える 1

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"));
}
于 2013-09-15T05:38:46.997 に答える