0

嗨在我的代码我有两个活动在第一个活动有两个按钮一个是可见的另一个是不可见的,如果我点击第一个按钮第二个按钮必须可见,我必须去下一个活动该活动有一个按钮,如果点击该按钮它必须先来活动现在第二个按钮必须显示第一个按钮必须隐形请帮助我。我在Android按钮点击怀疑

mainactivity.java

package com.example.admin.mypratic; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class MainActivity extends AppCompatActivity { 
    Button frst,scnd; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     frst=(Button)findViewById(R.id.firstbtn); 
     scnd=(Button)findViewById(R.id.scndbtn); 
     frst.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view){ 
       Intent intent=new Intent(MainActivity.this,Main2Activity.class); 
       frst.setVisibility(View.GONE); 
       scnd.setVisibility(View.VISIBLE); 
       startActivity(intent); 
       finish(); 
      } 
     }); 
    } 
} 

mainactivity2.java

package com.example.admin.mypratic; 
import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
public class Main2Activity extends AppCompatActivity { 
Button b3; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main2); 
     b3=(Button)findViewById(R.id.third); 
     b3.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Intent intent=new Intent(getApplicationContext(),MainActivity.class); 
       startActivity(intent); 
      } 
     }); 
    } 
} 
+0

看看活动之间的android消息 –

+0

对不起,我没有得到 – chandu

+0

@chandu,你目前的结果是什么?当你从第二次活动回来时,你在第一次活动中获得了什么?你想看按钮2而不是按钮1吗? –

回答

0

如果你想看到的,而不是按钮1,当你从未来的第二个活动后退按钮2,你先不要启动活动,而不是完成当前活动(MainActivity2),android会从Intent堆栈中提取第一个活动。 [另外,在第二次活动的召唤之后,你还没有完成第一次活动来保持它的状态/状态]。 startActivity重新启动您的活动,因此会触发onCreate并加载默认布局。

所以新修改的键码:在mainActivity1

frst.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view){ 
      Intent intent=new Intent(this,Main2Activity.class); 
      frst.setVisibility(View.GONE); 
      scnd.setVisibility(View.VISIBLE); 
      startActivity(intent); 
     } 
    }); 

在第二活动

b3.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      finish(); 
     } 
    }); 

不用说,你需要有一个onClickListener为您的按钮2,使按钮1点击时可见。

干杯队友!

+0

不,它不工作,如果我点击按钮3应用程序正在关闭。如果我点击按钮3,它想要在这个活动前来活动第二个按钮只显示第三个按钮 – chandu

+0

@chandu,我已经改变了你的两个按钮代码。 (对于按钮1,2,对于活动1)和按钮3(对于活动3)。 –

+0

@chandu请正确检查aa_oo解决方案。 frst.setOnClickListener impl中没有finish()。 – Raghavendra