1

setResult を使用して、リスト項目がクリックされたときに親アクティビティに移動する必要があります。

list.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    Log.d("gaurav", "list is clicked");

                    moveToEvent();
                }
            });

私の moveToEvent メソッドは次のとおりです。

public void moveToEvent() {
    Log.d("gaurav", "Move to evnet");
    Intent intent = new Intent();
    this.setResult(5, intent);
    // this.startActivity(intent);
    this.finish();

}

このコードを使用すると、親アクティビティに 2 ~ 3 回戻ることができます。その後、親アクティビティに戻って独自のアクティビティを更新することはありません。私はその解決策を見つけることができません。この問題で私を助けてください

onBackPressed メソッドも試しましたが、同じ結果でした。

@Override 
public void onBackPressed() { 
    // TODO Auto-generated method
   Intent intent = new Intent(); 
   setResult(5, intent); 
   finish();

  super.onBackPressed();
  }

私が間違いを犯している場所を教えてください。

4

2 に答える 2

3

ParentActivity を開始する必要があります

Intent i = new Intent(SignUpActivity.this, UploadImage.class);
startActivityForResult(i, 1);

そして、これを ParentActivity に書き込みます

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 1) {
       //your code
    } else {        
    }       
}

そして、2番目のアクティビティでこれを書きます

Intent returnIntent = new Intent();
setResult(RESULT_OK, returnIntent);
finish();
于 2012-07-31T12:30:30.877 に答える
0

これを使用して問題を解決しました。このコードは親アクティビティにあります。

Intent intent = new Intent(AddEvent.this, AddVenue.class); intent.setFlags(intent.FLAG_ACTIVITY_CLEAR_TOP); startActivityForResult(intent, 222); ((Activity) AddEvent.this).overridePendingTransition(0, 0);

これは、この問題を解決するための重要な行です。

intent.setFlags(intent.FLAG_ACTIVITY_CLEAR_TOP);
于 2012-07-31T12:56:07.970 に答える