通常の開発過程で、特定のアクティビティが呼び出されたときに応答を停止したように見えました。アクティビティが起動されたときにonResume()が再度呼び出されない
すなわちmenu->(intent)->activity->(back button)->menu->(intent)
logcatで関連するものは何もありません。
if (!dictionary.getClassName().equals("")) {
this.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent i;
i = new Intent(mContext, NVGlobeNavigatorVC.class);
i.putExtra("PAGE_TITLE", title);
i.putExtra("TITLE", _dictionary._title);
mContext.startActivity(i);
});
} else {
findViewById(R.id.greaterthan).setVisibility(View.GONE);
}
と起動され活動中:
私もこれをデバッグを開始する場所もそうここに示すために、どのようなコードを知らないがonClick
とonResume
断片である
@Override
protected void onResume() {
super.onResume();
...
珍しいことはありません。
<activity
android:name=".NVViews.NVGlobeNavigatorVC"
android:theme="@style/WindowTitleBackground"
android:label="GlobeNavigator"/>
私はmContext.startActivity(i)
とsuper.onResume()
にブレークポイントを設定しました。 onClickListener
でビューをクリックすると、両方のブレークポイントが期待通りにヒットします。私はメニューに戻ってくる戻るボタンを押します。 onPause()
が期待通りに呼び出されます。
ビューをタッチして再びアクティビティを起動すると、startActivity
のブレークポイントはヒットしますが、ターゲットアクティビティのonResume()
には表示されません。画面が黒くなり、もう一度やり直すことができるのは、アプリを再起動することだけです。デバッガを一時停止すると、dalvik.system.NativeStart()
で一時停止します。これは、アクティビティが再起動されないことを意味します。
私はIntellij IDEAを使用していますが、すべての出力ディレクトリを削除し、キャッシュを無効にして完全に再構築しました。
ターゲットAPIは8です。私は2.3と4.0.4でテストしました。
アイデア?私は困惑している。
[EDIT]
で、私は環境設定にいくつかのものを保存します。 onResume()
の目的は、再びそれらを得ることです:
@Override
protected void onPause() {
super.onPause();
SCPrefs.setGlobeViewViewPoint(globeView.getViewPoint());
SCPrefs.setGlobeViewZoom(globeView.getZoom());
SCPrefs.setGlobeViewScale(globeView.getScale());
}
は、第2アクティビティのoncreateが正しく呼び出されていますか? – stinepike
@StinePike 'Activity'がバックグラウンドにある場合、呼び出されるべきではありません。 'onPause()'をオーバーライドしてそこに何かするのですか? – codeMagic
@StinePikeこれは呼び出されていませんが、スタックの最上部にあり、Androidが自分の活動を破壊することはないと思われます。 – Simon