2016-03-05 81 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之內,否則您需要自行添加活動。