我在android按钮点击时遇到了疑问

时间:2016-11-14 09:45:37

标签: android android-layout android-fragments button android-button

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

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);
            }
        });
    }
}

1 个答案:

答案 0 :(得分:0)

如果你想从第二个活动回来时看到按钮2而不是按钮1,你就不会开始第一个活动而不是你完成当前活动(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();
        }
    });

不用说,您需要为按钮2设置onClickListener,以便按钮1在单击时可见。

干杯队友!