私は問題が何のために迷っています。私はほとんどすべての関連する質問を読みましたが、私の問題がどんなものかというと困惑しています。 finish()
メソッドで終了しますが、私のMainActivityクラスでは何も行われません。私は自分のマニフェストがnoHistory
とsingleton
というアクティビティを呼び出さないことを確認しました。私はいくつかのトーストとテキストセットを置いたが、どれも呼ばれていない。onActivityResult()はAndroidアプリケーションで起動していません
MainActivityの場合:
Intent placeShips = new Intent(this, SetShips.class); //MainActivity.this works too
startActivityForResult(placeShips, RESULT_OK);
ここに私のコードの実装です。呼ばれる活動に
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_OK && resultCode == RESULT_OK) {
Toast.makeText(MainActivity.this, "worked", Toast.LENGTH_SHORT).show();
Toast.makeText(this, "worked", Toast.LENGTH_SHORT).show();
}
newGame.setText("PLS "); //these aren't being called either
toast("PLS");
}
: (ボタンが正常に動作しますのでご注意ください)
setShips.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
setResult(RESULT_OK);
finish(); //return to main activity, giving intent with stored player information
}
});
さらにノート。トーストはsetShips
ボタンリスナーに正しく表示されますが、説明したように、トーストショーでさえもonActivityResult
メソッドには何も返されません。私は何か他のものを逃している?
あなたは 'super.onActivityResult(requestCode、resultCodeが、データ)を呼び出す必要はありません;'。あなたの 'SetShips'クラスに' onActivityResult'メソッドがありますか? – BlackHatSamurai
リクエストコード 'RESULT_OK'の別名を使用してください。それは複製されています。 –
愚かな質問かもしれませんが、 'startActivityForResult'を使用していますか? – CzarMatt