Android 当从第二个活动导航到第一个活动时,如何使图像在第一个活动中不可见
我在Android 当从第二个活动导航到第一个活动时,如何使图像在第一个活动中不可见,android,Android,我在firstActivity(MainActivity)中有两个图像视图,当我单击signIn image时,它会移动到SignUp Activity。。。 在这里,当我点击注册图像时,它将再次进入main活动。在这里,我必须使firstName图像不可见 public class MainActivity extends Activity { ImageView firstName,signIn ; public void onCreate(Bundle savedInstanceS
firstActivity(MainActivity)
中有两个图像视图,当我单击signIn image时,它会移动到SignUp Activity
。。。
在这里,当我点击注册图像时,它将再次进入main活动
。在这里,我必须使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);
}
});
}}
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);
}
});
}}
Intent Intent=新的Intent(getApplicationContext(),MainActivity.class);intent.addFlags(intent.FLAG\u ACTIVITY\u REORDER\u TO\u FRONT);意向。额外(“先前行为”、“5”);星触觉(意向);受保护的void onStart(){super.onStart();Log.i(标记,“onStart”);String mm=“5”;Intent i=getIntent();String s=i.getStringExtra(“PrevAct”);if(mm==s){loginWith.setVisibility(View.GONE);sign.setVisibility(View.GONE);}谢谢你的回复..我已经改变了,但是没有得到..在mainactivity中,我将代码放在了onStop()中。。。