2011-10-20 4 views
0

J'ai 4 onglets. Un onglet 1 (Répondre) Je veux commencer une autre activité, disons cliquez sur le bouton Continuer et je dois aller à une autre page (Répondre1) où j'ai le bouton de retour. Tout devrait être sur l'onglet 1 lui-même. J'ai des problèmes comme si je vais 4 à 5 fois que je reçois une erreur de pile.2 activités dans un seul onglet

Respond.Java

package com.muo.Livegroups; 

import android.app.ActivityGroup; 
import android.app.LocalActivityManager; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.util.Log; 

public class Respond extends ActivityGroup 
{ 
    protected static LocalActivityManager mLocalActivityManager; 
    public static final String LOG_TAG = "muo"; 
    @Override 
    /** Called when the activity is first created. */ 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.respond); 

     //Continue button on Respond page 
     Button next1 = (Button) findViewById(R.id.Continue); 
     next1.setOnClickListener(new View.OnClickListener() 
     { 
      public void onClick(View view) 
      { 
       Intent myIntent = new Intent(view.getContext(), Respond1.class); 
       startActivityForResult(myIntent, 0); 
      // StringBuffer urlString = new StringBuffer(); 
      // myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      // replaceContentView("Respond1",myIntent); 

       int mInt=0; 
       Log.v(LOG_TAG, "mInt Value: " + mInt); 
      } 
     }); 
    } 

    public void replaceContentView(String id, Intent newIntent) 
    { 
     View view = getLocalActivityManager() 
         .startActivity(id,newIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY)) 
         .getDecorView(); 
     this.setContentView(view); 
    } 
} 

Respond1.Java

package com.muo.Livegroups; 

import android.app.ActivityGroup; 
import android.app.LocalActivityManager; 
import android.content.Intent; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 

public class Respond1 extends ActivityGroup 
{ 
    protected static LocalActivityManager mLocalActivityManager; 
    public static final String LOG_TAG = "muo1"; 
    /** Called when the activity is first created. */ 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.respond1); 

     Button next = (Button) findViewById(R.id.Button03); 
     next.setOnClickListener(new View.OnClickListener() 
     { 
      public void onClick(View view) 
      { 
       Intent intent = new Intent(); 
       setResult(RESULT_OK, intent); 
       finish(); 
      // Intent myIntent = new Intent(view.getContext(), Respond.class); 
      // StringBuffer urlString = new StringBuffer(); 
      // myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      // replaceContentView("Respond",intent); 

       int mInt1=0; 
       Log.v(LOG_TAG, "mInt Value: " + mInt1); 
      } 
     }); 
    } 

    public void replaceContentView(String id, Intent newIntent) 
    { 
     View view = getLocalActivityManager() 
         .startActivity(id,newIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) 
         .getDecorView(); 
     this.setContentView(view); 
    } 
} 
+0

http://androidgenuine.com/ vérifier cet exemple de ActivityGroup –

Répondre

1

Vous devriez envisager de faire les deux activités fragments et de les mettre ensemble dans une activité dans l'onglet. Si vous utilisez un niveau d'API inférieur à 3.0, veuillez regarder le android compatibility package.

0

principale activitity devrait être ActivityGroup et mettre ce code là où vous commencez une nouvelle activité

Intent intent = new Intent(v.getContext(), Activity1.class); 
Activity1 parentActivity = (Activity1)getParent(); 
parentActivity.replaceContentView("activity1", intent, 
      Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
Questions connexes