2015-01-07 78 views
0

当我在firstActivity(MainActivity) 2个imageviews使图像中的第一项活动invisble当我点击签到图像,然后将其移动到SignUp Activity ... 这里当我注册图像点击然后再它会来MainActivity ..和在这里,我不得不做出firstName图像隐形..如何从次活动导航到第一个活动

public class MainActivity extends Activity { 

ImageView firstName,signIn ; 


public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.activity_main); 

    firstName =(ImageView)findViewById(R.id.imageView1); 
signIn =(ImageView)findViewById(R.id.imageView2); 

    signIn.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      Intent intent = new Intent(getApplicationContext(),SignUp.class); 
      startActivity(intent);    

     } 
    });  
    } 



protected void onStart() { 
    super.onStart(); 
    Log.i(TAG, "onStart"); 

    String mm ="5"; 
    Intent i= getIntent(); String s = i.getStringExtra("PrevAct"); 

    if (mm ==s) {    

      firstName.setVisibility(View.GONE); 
    } 
     } 

public class SignUp extends Activity { 


ImageView signUp; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
     setContentView(R.layout.signup);  

    signUp =(ImageView)findViewById(R.id.imageView3);  
    signUp.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub    

    Intent intent = new Intent(getApplicationContext(), MainActivity.class); 
    intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
      intent.putExtra("PrevAct","5"); 
      startActivity(intent); 


     } 
    }); 

}} 

回答

0
  1. 当您尝试再次启动在MainActivity活动,确保您重新使用相同的实例,而不是一个新的为了应用程序更好的性

    Intent intent = new Intent(getApplicationContext(),MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); intent.putExtra(“PrevAct”,“SignUP”); startActivity(intent);

  2. 使用变量来检查屏幕是否从SignUpActivity呈现。

    Intent i = getIntent(); String s = i.getExtra(“PrevAct”,“NO”);

  3. 根据字符串值,您可以决定显示/隐藏。

请注意,View.Invisible只隐藏屏幕视图。但它仍然会被加载并占用屏幕上的空间。这是一个糟糕的UI实现。

因此改为使用View.GONE

你的源代码修改如下

public class MainActivity extends Activity { 

    ImageView firstName,signIn ; 


    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState);  
     setContentView(R.layout.activity_main); 

     firstName =(ImageView)findViewById(R.id.imageView1); 
    signIn =(ImageView)findViewById(R.id.imageView2); 

     signIn.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 

       Intent intent = new Intent(getApplicationContext(),SignUp.class); 
       startActivity(intent);    

      } 
     });  
     } 




      protected void onStart() { 
     super.onStart(); 
     firstName = (ImageView)findViewById(R.id.textView1); 

      { 



      Intent i= getIntent(); 
      if(i!=null){ 
      String s = i.getExtra("PrevAct","NO"); 
      if(s.equalsIgnoreCase("SignUP")) 
      firstName.setVisibility(View.GONE); 
      } 
else 
    firstName.setVisibility(View.Visible); 
     } 
    } 

    public class SignUp extends Activity { 

    ImageView signUp; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
      setContentView(R.layout.signup);  

     signUp =(ImageView)findViewById(R.id.imageView3);  
     signUp.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub    

     Intent intent = new Intent(getApplicationContext(), MainActivity.class); 
     intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
    intent.putExtra("PrevAct","SignUP"); 
      startActivity(intent); 


      } 
     }); 
    }} 
+0

Intent intent = new Intent(getApplicationContext(),MainActivity.class); \t \t \t \t intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); \t \t \t \t intent.putExtra(“PrevAct”,“5”); \t \t \t \t \t \t \t \t \t \t \t \t startActivity(意向); 保护无效onStart(){ \t \t super.onStart(); \t \t日志。我(标签,“onStart”); \t \t \t \t \t 字符串\t毫米= “5”; \t \t Intent i = getIntent(); String s = i.getStringExtra(“PrevAct”); \t \t \t 如果\t(毫米== S){ \t \t \t \t \t \t \t \t \t loginWith.setVisibility(View.GONE); \t \t \t signIn.setVisibility(View.GONE); \t \t} \t \t \t \t \t} – user1862322

+0

感谢reply..i已经chaged喜欢的但不能getting..in mainactivity我把代码中的onStop()... – user1862322

0
  1. 通过点击签到图像,使用startActivityForResult开始您的活动签约。
  2. 在注册活动时,使用setResult并完成以返回登录活动。
  3. 当返回到第一个活动时,在onActivityResult中将firstName图像设置为不可见或不需要。
相关问题