0

「ArticleActivity」(ユーザーが記事を読む場所) には、「関連記事」のリストがあります。ユーザーが記事をクリックすると、ArticleActivity をリロードまたは更新して、今読んだ記事ではなくクリックした記事を表示する必要があります。

私はオンラインで多くの答えを見つけ、それらのうち約492を試しました...別のアクティビティを開始することはできますが、現在のアクティビティを再開することはできません。

私の最近の試み:

    //RELATED ARTICLE CLICK
    relatedArticleClickListener = new OnClickListener()
    {
        public void onClick(View v) {
            Log.d("MYLOG", "related article clicked " + v.getId());
            Intent myIntent = new Intent(v.getContext(), ArticleActivity.class);
            myIntent.putExtra("id", v.getId());
            startActivity(myIntent);
            finish();
        }   
    };

アップデート:

これを持つ ArticleActivity に関係している可能性があります: android:launchMode="singleTask"? そこにそれが必要ですが、新しい記事でアクティビティをリロードできる必要もあります。

変更ArticleActivity.classMainActivity.classて残りのコードをまったく同じままにすると、MainActivity に移動します。

4

3 に答える 3

1

これらの行を置き換えます

finish();
startActivity(myIntent);

これ等と一緒に

startActivity(myIntent);
finish();
于 2013-01-11T05:17:08.280 に答える
0

インテント フラグを使用する必要があります。これは役に立ちます。

このリンクを参照してください

http://developer.android.com/reference/android/content/Intent.html

http://blog.akquinet.de/2010/04/15/android-activites-and-tasks-series-intent-flags/

AndroidにおけるFLAG_ACTIVITY_SINGLE_TOPの意味

于 2013-01-11T05:19:20.937 に答える
0

あなたの更新を読んだ後、あなたの質問をさらに理解してください。行動はあなたのsingleTask指定に関連しています。singleTaskでは、アクティビティが既に存在する場合、アクティビティは再作成onNewIntent()されませんが、新しいインテントを処理するためにそのメソッドが呼び出されます。詳細については、 Activity.launchmodeを参照してください。

本当に必要singleTaskですか?それを削除すると、問題も解消されるはずです。また、読んだ記事をバック スタックに入れることもできるため、ユーザーが 1 つの記事を読み終えて戻るキーを押すと、最初の記事に戻ります。

于 2013-01-11T05:31:38.453 に答える