私は以下に示すアクティビティAと呼ばれるAndroidアクティビティを持っています。 saveButtonをクリックすると、saveData()メソッドが呼び出され、finish()メソッドが呼び出され、アクティビティAが閉じられます。アクティビティAのtriggerActivity_BボタンをクリックしてアクティビティBに移動し、次にtriggerActivity_Aボタンをクリックします。アクティビティBでアクティビティAに戻るには、saveButtonをクリックしてsaveData()メソッドが呼び出されず、finish()メソッドが呼び出されます。私がアクティビティから離れるときに実行するように見えるだけですが、なぜこれがわからないのですか?メソッドコールが実行されていません
あなたの助けが大歓迎です。
ActivityA.java:
public class ActivityA extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
saveButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
saveData();
finish();
}
});
triggerActivity_B.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(ActivityA.this, ActivityB.class);
startActivity(i);
finish();
}
});
}
private void saveData() {
String desc = descriptionEntry.getText().toString();
if (mRowId == null) {
long id = mDbHelper2.createDescription(desc);
if (id > 0) {
mRowId = id;
}
} else {
mDbHelper2.updateDescription(mRowId, desc);
}
}
}
ActivityB.java:あなたはActivityBでtriggerActivity_A]ボタンをクリックした場合
public class ActivityB extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
triggerActivity_A.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(ActivityB.this, ActivityA.class);
startActivity(i);
finish();
}
});
}
}
最初に古い質問をチェックし、回答を受け入れるという形でフィードバックを与えたり、正しいものがigvenでない場合は自分の回答を追加して受け入れます。 0%は少し低いです。第二に、それは呼ばれていませんか? 2番目のアクティビティAに保存するものがないことはありませんか?あなたはそのメソッドに 'Log.d'を入れましたか? – Nanne
'saveData()'のコードを表示できますか? –
ありがとうございます - 実際に呼び出されているかどうかを確認するためにsaveData()関数にLog.d()を追加してください。これを使うことができます: 'Log.d(" DEBUG "、"それは "と呼ばれています)'。 LogCatで "DEBUG"タグを確認してください。 –