我对 android 按钮点击有疑问
I am getting doubts in android button clicking
你好,在我的代码中我有两个 activity 第一个 activity 有两个按钮,一个是可见的,另一个是不可见的,如果我点击第一个按钮,第二个按钮必须可见,我必须下一步activity 在那个 activity 上有一个按钮,如果单击该按钮它必须先出现 activity 现在第二个按钮必须显示第一个按钮必须不可见请帮助我。
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);
}
});
}
}
如果你想在从第二个 activity 返回时看到按钮 2 而不是按钮 1,你不会先开始 activity 而是完成当前 activity (MainActivity2) 和 android 将首先从 Intent 堆栈中拉取 activity。 [此外,在第二个 activity 的呼叫保持它是 status/state 之后,您没有完成第一个 activity。
startActivity 重启您的 activity,因此触发 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);
}
});
秒activity
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
不用说,您的按钮 2 需要有一个 onClickListener,以便按钮 1 在点击时可见。
伙计,干杯!
你好,在我的代码中我有两个 activity 第一个 activity 有两个按钮,一个是可见的,另一个是不可见的,如果我点击第一个按钮,第二个按钮必须可见,我必须下一步activity 在那个 activity 上有一个按钮,如果单击该按钮它必须先出现 activity 现在第二个按钮必须显示第一个按钮必须不可见请帮助我。
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);
}
});
}
}
如果你想在从第二个 activity 返回时看到按钮 2 而不是按钮 1,你不会先开始 activity 而是完成当前 activity (MainActivity2) 和 android 将首先从 Intent 堆栈中拉取 activity。 [此外,在第二个 activity 的呼叫保持它是 status/state 之后,您没有完成第一个 activity。 startActivity 重启您的 activity,因此触发 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);
}
});
秒activity
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
不用说,您的按钮 2 需要有一个 onClickListener,以便按钮 1 在点击时可见。
伙计,干杯!