2016-03-05 84 views
-2

到目前为止,从我看过的所有教程中,大多数只能到“点击按钮”的位置。我需要第二个活动按钮来打开新活动。在第二个活动中打开新活动

我在FifthActivity.java命名这个类,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" /> 

之后,我有

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) { 

      } 
     }); 

    } 

} 

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

+0

没有我需要这个 – East

+0

我不需要我的应用程序,只是说“按钮被点击了”我真的需要它来打开一个新窗口 – East

+0

请参考上面的问题来达到同样的 – Pragnani

回答

1

您必须使用意图打开新的活动。假设您想从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); 
       } 
      }); 

     } 
    } 

希望这有助于 问候。

+1

@东方这是一个精心制作的笑话吗?停止在StackOverflow上浪费时间,并开始学习编程:https://www.udacity.com/course/developing-android-apps--ud853 –

+0

@East,是的,你将不得不重新键入一切为多个按钮。只需将“SixthActivity.java”更改为新的活动名称即可。另外,我建议你在提问之前彻底搜索谷歌和StackOverflow。向我们展示您的研究成果。我建议通过链接你的问题已标记重复,以了解更多关于意图。不要灰心被阻挡2天。在那个时候,你会更好地学习你的问题,而不是直接寻求帮助 – brainbreaker

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

好了,所以你必须与它的布局的单一活动,对不对?

你问的是什么?“我怎么发动另一活动与另一个布局?”

要做到这一点,我们将使用一个“意图”(认为意图的活动如何交谈海誓山盟,他们得到来回传递)

要创建的意图,并开始,你需要这些情侣线:

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

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

如果您使用文件>新建>活动在Android Studio中创建了活动,则应该已将活动置于AndroidManifest.xml之内,否则您需要自行添加活动。