简体   繁体   English

Java Android:返回第一个布局后按钮不起作用

[英]Java Android: the button does not work after returning to the first layout

when I press two buttons the picture changes but when I move with the 3 button to the 2nd layout and I go back to the first picture it doesn't change anymore当我按下两个按钮时,图片会发生变化,但是当我使用 3 按钮移动到第二个布局并返回到第一张图片时,它不再发生变化

public class MainActivity extends AppCompatActivity {公共类 MainActivity 扩展 AppCompatActivity {

private Button button1;
private Button button2;
private Button changeLayout;
private Button exit;
private ImageView imageView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    button1 = findViewById(R.id.button1);
    button2 = findViewById(R.id.button2);
    imageView = findViewById(R.id.imageView);
    changeLayout = findViewById(R.id.changeLayoutBt);
    exit = findViewById(R.id.exitBtn);
}

public void changeImage(View view) {
    switch (view.getId()){
        case R.id.button1:
            imageView.setImageResource(R.drawable.orange);
            break;
        case R.id.button2:
            imageView.setImageResource(R.drawable.java);
            break;
    }
}

public void changeLayout(View view) {
    setContentView(R.layout.second_layout);
}

public void exit(View view) {
    setContentView(R.layout.activity_main);
}

} ` }`

In order to create new layout got to File>New>Activity>Empty Activity Change your changeLayout code to this one为了创建新的布局到File>New>Activity>Empty Activity将您的 changeLayout 代码更改为此一个

public void changeLayout() {
    startActivity(new Intent(MainActivity.this, Main2Activity.class);
}

Main2Activity.class is your newly created java class. Main2Activity.class 是您新创建的 java 类。 It would be Main2Activity.java or what ever you named it.它将是 Main2Activity.java 或您命名的任何内容。

Inside your onCreate() method.在您的 onCreate() 方法中。 Just below略低于

changeLayout = findViewById(R.id.changeLayoutBt);

Paste this code粘贴此代码

changeLayout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            changeLayout();
        }
    });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM