2016-06-09 8 views
0

Ich bin in der Lage, das Array von Zeichenfolgen in eine Listenansicht abrufen, aber wenn ich versuche, die Informationen in der Spalte "newStatus" von Parse zu bekommen und in eine neue Aktivität "StatusDetailView", nichts kommt heraus.
Jede Hilfe wäre von Vorteil. Der Code, den ich zur Verfügung stelle, stammt aus einem Tutorial von udemy und ich kann den Instructor nicht erreichen.Abrufen von Daten von Parse-Server

public class StatusDetailView extends Activity { 

String objectId; 
protected TextView mStatus; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.content_status_detail_view); 

    // initialize 
    mStatus = (TextView) findViewById(R.id.statusDetailView); 

    // Get the intent that started the activity 
    Intent intent = getIntent(); 
    objectId = intent.getStringExtra("objectID"); // matches key in HomePageActivity 

    // query data from parse 
    ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("Status"); 

    // Retrieve the object by id 
    query.getInBackground("objectId", new GetCallback<ParseObject>() { 
     @Override 
     public void done(ParseObject parseObject, ParseException e) { 
      if (e == null) { 
       // Success we have a status 
       String userStatus = parseObject.getString("newStatus"); // column 
       mStatus.setText(userStatus); 

      } else { 
       // there was an error, advise user 
       AlertDialog.Builder builder = new AlertDialog.Builder(StatusDetailView.this); 
       builder.setMessage(e.getMessage()); 
       builder.setTitle("Sorry"); 
       builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         // close the dialog 
         dialog.dismiss(); 
        } 
       }); 

       AlertDialog dialog = builder.create(); 
       dialog.show(); 
      } 
     } 
    }); 

Wann:

Wenn eine Zeile auf der Homepage Liste der Text aus der Zeile geklickt wird, wird in einer anderen Aktivität "StatusDetailView"

**OnListItemClick**

StatusDetailView.java angezeigt Ich führe die App aus und ich wähle eine Zeile, es bringt mich zu der StatusDetailView Activity mit einem Fehler, aber die Liste zeigt 8 Zeilen an:

error

list of statuses

+0

@ ρяσѕρєяK Wie kann ich das tun? Ich habe den ParseLogInterceptor und das bekomme ich: Body: {"where": "{\" objectId \ ": \" objectId \ "}", "_method": "GET" dann ... Body: {"results ": []} – LizG

Antwort

1

Hier:

query.getInBackground("objectId", new GetCallback<ParseObject>() { 
         ^^^^^^^ 
.. 
} 

objectId Zeichenkette als ID geben, anstatt Wert von objectId String die intent.getStringExtra initialisiert verwendet.

, um sie wie ändern zu bekommen arbeiten:

query.getInBackground(objectId, new GetCallback<ParseObject>() { 

... 
}