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

时间:2016-03-05 21:25:04

标签: 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"
    android:drawableStart="@drawable/amazon"
    android:layout_weight="0.07"
    tools:ignore="HardcodedText"
    android:id="@+id/button10"
    android:textSize="35sp" />

之后在我的FifthActivity.java中我有

    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.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 个答案:

答案 0 :(得分:1)

你的onClickListener什么都不做,当然没有任何反应。 创建一个新的活动(假设您将其命名为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

答案 1 :(得分:1)

好吧,所以你的布局就是单一的活动,对吗?

您的问题是“如何使用其他布局启动其他活动?”

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

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

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

哪个应该在你的onClick中工作。

如果你在Android Studio中使用File&gt; New&gt; Activity创建了活动,那么这应该已经将活动放在你的AndroidManifest.xml中,否则你需要自己添加它。

答案 2 :(得分:1)

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

你应该用这个:

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

        }
    }

希望这有帮助, 问候。