有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在第二个活动中打开新活动

到目前为止,我看过的所有教程中,大多数都只提到了“按钮被点击”这一点。我需要第二个活动按钮来打开一个新的活动

我把这个班命名为第五个布局。xml

    <Button
    安卓:layout_width="match_parent"
    安卓:layout_height="wrap_content"
    安卓:text="Amazon"
    安卓:drawableLeft="@drawable/amazon"
    安卓:drawableStart="@drawable/amazon"
    安卓:layout_weight="0.07"
    tools:ignore="HardcodedText"
    安卓:id="@+id/button10"
    安卓:textSize="35sp" />

在那之后,在我的第五次活动中。我有

    import 安卓.app.Activity;
    import 安卓.content.Intent;
    import 安卓.os.Bundle;
    import 安卓.util.Log;
    import 安卓.view.View;
    import 安卓.view.View.OnClickListener;
    import 安卓.widget.Button;


public class FifthActivity extends Activity {

         Button button;
         @Override
         protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fifth_layout);
        Button button = (Button) findViewById(R.id.button10);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {

            }
        });

    }

}

我只需要按钮就可以打开一个新的空白活动。但当我点击按钮时,什么都没发生?我只需要一个新的活动。我觉得代码是正确的,我只是想知道我可能做错了什么


共 (3) 个答案

  1. # 1 楼答案

    好的,你有一个活动和它的布局,对吗

    您的问题是“如何启动另一个具有其他布局的活动?”

    要做到这一点,我们将使用“意图”(将意图想象为活动如何相互交谈,它们如何来回传递)

    要创建意图并开始,您需要以下几行:

    Intent intent = new Intent(this, Target.class);
    startActivity(intent);
    

    这应该在你的onClick中起作用

    如果您使用文件>;在Android Studio中创建活动;新>;活动,这应该已经将活动放在了AndroidManifest.xml中,否则您需要自己添加它

  2. # 2 楼答案

    你的听众什么也不做,当然什么也没发生。 创建一个新活动(假设您将其命名为NewActivity,将其添加到AndroidManifest.xml并将以下代码添加到现有活动中:

    button.setOnClickListener(new View.OnClickListener() {    
        public void onClick(View view) {
            final Intent intent = new Intent(FifthActivity.this, NewActivity.class);
            startActivity(intent);
        }
    });
    

    我有一种强烈的感觉,你在Android开发中迷失了方向。我强烈建议您关注Udacity的Android开发course

  3. # 3 楼答案

    您必须使用意图来打开新活动。假设要从FifthActivity打开名为SixthActivity的活动

    您应该使用以下选项:

     public class FifthActivity extends Activity {
    
                Button button;
                @Override
                protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.fifth_layout);
                Button button = (Button) findViewById(R.id.button10);
                button.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View view) {
                    Intent intent = new Intent(FifthActivity.this,SixthActivity.java);
                    FifthActivity.this.startActivity(intent);
                    }
                });
    
            }
        }
    

    希望这有帮助, 问候