2016-05-03 13 views
0

私はデフォルトのParseUserクラス "User"を持っています。問題は、クエリを使用してそのクラス "updatePOST"の新しい列にデータを挿入しようとしても、更新されないということです。ParseUserクラス "User"が更新されていません。 "User"クラスを更新するには?

この列には「未定義」が表示されます。さらに、最新の文字列だけを保持するカラム "updatePOST"が必要です。私はまた、手動でobjectIdを与えようとしましたが、注意が払われました。

は、ここで私は新しい "更新" クラスを作成したコード

public class ChangeAccount extends AppCompatActivity { 

    private ImageView imageView; 
    private EditText editText; 
    private Button button; 

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


     imageView = (ImageView) findViewById(R.id.profile_pic_change); 
     editText = (EditText) findViewById(R.id.changeUpdatePost); 
     button = (Button) findViewById(R.id.change_button); 

     button.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       final ParseUser currentUser = ParseUser.getCurrentUser(); 
       String objectId = currentUser.getObjectId(); 
       final String updatePost = editText.getText().toString(); 
       ParseQuery<ParseObject> query = ParseQuery.getQuery("User"); 
       query.getInBackground((String) objectId, new GetCallback<ParseObject>() { 
        @Override 
        public void done(ParseObject parseObject, ParseException e) { 
         if(e == null){ 
          parseObject.put("updatePOST",updatePost); 
          parseObject.saveInBackground(); 
         } 
        } 
       }); 

       Intent i = new Intent(ChangeAccount.this,Account.class); 
       startActivity(i); 
      } 
     }); 
    } 

です。そしてそれにデータを入れてください。また、上記のクエリは、そのクラスで正常に動作しています。値は更新中です。したがって、基本的な問題はデフォルトのUserクラスだけです。

ご協力いただければ幸いです。ありがとう

答えて

0

インストールオブジェクトで同様の問題が発生しました。パースダッシュボードのUserテーブルに列を追加できますか?新しいデータ列を作成して、適切なデータ型を作成してくれました。

**あなたがParseUser.getCurrentUser(から現在ParseUserを取得したら、あなたはすぐにParseUser上のキー/値のペアを置くことができる)5/4/16 **

を更新します。 Userオブジェクトを取得するために別のParseQueryを構築する必要はありません。リファレンスドキュメントのputメソッドを参照してください。目的のキーと値のペアを設定したら、すぐにsaveInBackground()を呼び出すことができます。

+0

私もそれを試しました。あらかじめタイプ "string"の列 "updatePOST"を作成しました。しかし、何も起こりません。それは何も更新せず、 "undefined"を表示します。 –

+0

ParseQueryが正常に返され、ParseExceptionがnullであることは確かですか?上記のLogステートメントを追加し、ParseObjectのtoStringを出力してみます。 – charleschenster

+0

あなたが言ったように、ParseExceptionはnullではなく、例外を示しています。何をすべきか ? –

関連する問題