Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在第二个活动中打开新活动_Java_Android_Android Intent - Fatal编程技术网

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

Java 在第二个活动中打开新活动,java,android,android-intent,Java,Android,Android Intent,到目前为止,我看过的所有教程中,大多数都只提到了“按钮被点击”这一点。我需要第二个活动按钮来打开一个新的活动 我将这个类命名为fifth_layout.xml <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Amazon" android:drawableLeft="@drawable/amazon"

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

我将这个类命名为fifth_layout.xml

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

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

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

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

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

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

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

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

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

Intent intent = new Intent(this, Target.class);
startActivity(intent);
这应该在你的onClick中起作用


如果您使用File>New>activity在Android Studio中创建了活动,则应该已经将该活动放入
AndroidManifest.xml
中,否则您需要自己添加该活动。

您必须使用intent打开新活动。假设您想从
第五个窗口打开名为
SixtActivity
的活动活动

您应该使用以下选项:

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

        }
    }
希望这有帮助,
问候。

不,我需要这方面的帮助我不需要我的应用程序只说“按钮已点击”事实上,我需要它来打开一个新窗口。请参考上面的问题,以实现相同的目标。他们正在做一些完全不同的事情!我认为我们不应该否决这个问题,只是提供帮助和建议就好了。新用户可能会在看到大量否决票时感到气馁。我认为我们在某个时候都处于这个阶段@East这是一个精心设计的笑话吗?别再在StackOverflow上浪费时间了,开始学习编程:@East,是的,你需要重新键入多个按钮的所有内容。只需将
SixthActivity.java
更改为你的新活动名称。另外,我建议你在询问之前彻底搜索谷歌和StackOverflow评估。向我们展示你的研究成果。我建议你浏览你的问题标记为重复的链接,以了解更多关于意图的信息。不要因为被阻止两天而气馁。在这段时间里,你会更好地研究你的问题,而不是直接寻求帮助
 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);
                }
            });

        }
    }