1

アクティビティにテーマを適用すると、コードの機能に影響する理由はありますか? スタイルやテーマは見た目に影響するだけだという印象を受けました...

下部にボタンが付いたリストフラグメント(データベースから入力)があり、そのボタンを押すと、リスト/データベースを編集または追加できるようにする新しいアクティビティが開始されます。

Intent i = new Intent(getActivity(), Activity2.class);
startActivityForResult(i, ACTIVITY_EDIT);

この 2 番目のアクティビティは正常に機能し、終了してリストフラグメントに戻ると、リストが更新され、新しいアイテムがリストに表示されます。

ここで問題が発生し始めます...

2 番目のアクティビティは TextView、EditText、および 2 つのボタンのみであるため、ダイアログ テーマを使用してタブレット画面全体を不必要に占有しないようにすることにしました。マニフェスト ファイルから:

<activity android:name="Activity2" android:theme="@android:style/Theme.Dialog" />

これは、アクティビティの外観に関する限り、私が探していた結果を達成しますが、アクティビティ #2 を終了すると、リストフラグメントのリストは再生成/再表示されません。DBへの追加が行われており、アプリを再起動すると、以前に追加した項目が最終的に表示されます。

上記のマニフェストへの追加は、行われた唯一の変更です。

なぜこれが起こっているのか、それを止める方法について何か考えはありますか?

4

2 に答える 2

0

最初のアクティビティは、ダイアログを起動したときに停止および再開されるのではなく、全画面アクティビティを起動したときに再開されます。ダイアログ アクティビティが終了したら、リスト アダプターでnotifyDataSetChangedを呼び出してみてください。

于 2012-01-18T17:10:35.520 に答える
0

または、コードを追加しonResume()て更新することもできます。ダイアログを呼び出すonPause()と、呼び出しonResume()、ダイアログが終了したときに呼び出します。

于 2012-01-18T17:13:30.927 に答える