2017-04-16 23 views
-3

私は、さまざまなアクティビティを通じてアクセスできるアクティビティを持っています。 リストビューを含む1つのアクティビティと、グリッドビューを含む1つのアクティビティがあり、両方とも同じデータを表示しているようです。アイテムをクリックすると、いくつかの詳細を含む新しいアクティビティが表示されます。私は何らかのアクションが最初のもの(gridviewまたはlistview)だったので、ここでリダイレクトするボタンを設定できることを覚えておく必要があります。しかし、これまでのアクティビティ(finish()を使って現在のものを閉じるのと同じように)に戻すだけでは不十分です。詳細アクティビティ内の異なるオブジェクト間を移動する方法があります(私はその画面上にグリッドビューを持っています)。だから私は様々な回数の詳細活動を通して移動中に最初のビューを覚えておく必要があります。 方法はありますか?さらに移動した後に最初のアクティビティに戻るにはどうすればよいですか?

EDIT:なぜそう多くのdownvotes?少なくともそれがなぜそんなに愚かなのか教えてください、私は2週間Android用のコーディングを学んでいます。私はすべてを知っているはずですか?

答えて

3

これは、それが最善の希望のように聞こえます2つの値を使用して解決することができますActivity

+0

幾分建設的な返信をしてくれてありがとう、私は以前にそれらを使用したことがないので、断片については、私はちょうど2週間アンドロイドのためのコーディングを学んでいる... – chaturanga

+0

私は明らかにここでダムの質問をしていますが、私は再び何か愚かなことをしないようにもう一度試してみます。 あなたは、すべてのアイテムまたはフラグメントの詳細を表示するには2つのフラグメントのビューのために意味しますか? – chaturanga

-1

は、あなたが、あなたはその点に来たexacly順序を逆にアクティビティから行くことになって、あなたが意図して戻ることを滑走している場合は、されている - 愚かなのthats ....

+0

愚かではないものを私に教えて?私は明らかに私が知らないので、このサイトの目的ではないのですか? – chaturanga

+0

私はあなたや他の人を侮辱しませんでした。私はちょうどそれを言ったかったのです:既に作成されたものに戻るのではなく新しい活動(意図)を作成することは愚かです –

+0

これは基本的に私が探しているもの、あなたの答えから私はすでに作成されたものに戻っています。私はそれをする方法を知っていません。それは正直ではありませんが、大丈夫です... – chaturanga

0

バンドルオブジェクトを使用して、新しいアクティビティ(B)にデータを渡して、アクティビティ(listViewまたはgridView)が開始したことを知ることができます。呼び出し側のアクティビティで

private static final String ACTIVITY_TYPE = "activity_type"; 

public static Intent createIntent(Context context,String activityType) 
{ 
    Intent intent = new Intent(context, ActivityB.class); 
    Bundle b = new Bundle(); 
    b.putString(ACTIVITY_TYPE,activityType); 
    intent.putExtras(b); 
    return intent; 
} 

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 

    Bundle b = getIntent().getExtras(); 
    String activityType; 
    if (b != null) 
    { 
     activityType = b.getString(ACTIVITY_TYPE); 
    } 
    //the calling activity didn't use the createIntent method and didn't provide the activity type 
    else 
    { 
     activityType = "some_default_type"; 
    } 

    //save activity type to use later 
    //rest of your code 
} 

:活動Bでは

Intent intent = ActivityB.createIntent(ActivityListView.this,"activity_list_view"); 
startActivity(intent); 
関連する問題