2014-02-18 61 views
0

我正在創建一個android應用程序,我不會從「test1」導航到「test2」,但是當我按下「btnNext」時,什麼都不會發生。我使用與我的應用程序中用於其他導航的代碼相同的代碼,因此我不明白爲什麼它不起作用。有人可以幫忙嗎?應用程序不會導航到下一個應用程序頁面

「測試1」 XML代碼:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<TextView 
    android:id="@+id/txtSubTitle" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/txtTitle" 
    android:layout_centerHorizontal="true" 
    android:text="Please Answer the 9 Following Questions" 
    android:textAppearance="?android:attr/textAppearanceMedium" /> 

<TextView 
    android:id="@+id/txtTitle" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="37dp" 
    android:text="Depression Test" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<TextView 
    android:id="@+id/txtQ1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/txtSubTitle" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="59dp" 
    android:text="Q.1. Have you found little pleasure or interest in doing things?" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<RadioButton 
    android:id="@+id/RadioButton01" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/txtQ1" 
    android:layout_below="@+id/radioButton1" 
    android:text="On some days" /> 

<RadioButton 
    android:id="@+id/radioButton1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/txtQ1" 
    android:layout_below="@+id/txtQ1" 
    android:text="No, not at all" /> 

<RadioButton 
    android:id="@+id/RadioButton02" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/RadioButton01" 
    android:layout_below="@+id/RadioButton01" 
    android:text="On more than half the days" /> 

<RadioButton 
    android:id="@+id/RadioButton03" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/RadioButton02" 
    android:layout_below="@+id/RadioButton02" 
    android:text="Nearly every day" /> 

<Button 
    android:id="@+id/btnNext" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_marginBottom="26dp" 
    android:layout_toRightOf="@+id/txtQ1" 
    android:text="Next" /> 

<Button 
    android:id="@+id/btnNext" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/RadioButton03" 
    android:layout_marginTop="14dp" 
    android:layout_toRightOf="@+id/txtTitle" 
    android:text="Next" /> 

</RelativeLayout> 

「Test1.java」 代碼:

package com.lifematters; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.View; 
import android.widget.Button; 

public class Test1 extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.test1); 

    //define Navigation Image Buttons 
    final Button nextBtn = (Button) findViewById(R.id.btnNext); 


    //Set up listener for Test 
    nextBtn.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      //listener call this function 
      openTest2(); 
     } 
    }); 


    } 

    //Open test page 
    public void openTest2() { 
    //create new textview 
     Intent i = new Intent(getApplicationContext(), Test2.class); 
     startActivity(i); 
    } 


} 

「Test2.java」 代碼:

package com.lifematters; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.View; 
import android.widget.Button; 

public class Test2 extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.test2); 

    //define Navigation Image Buttons 
    final Button nextBtn = (Button) findViewById(R.id.btnNext); 


    //Set up listener for Test 
    nextBtn.setOnClickListener(new View.OnClickListener() { 

      @Override 
     public void onClick(View v) { 
      //listener call this function 
      openTest3(); 
     } 
    }); 


    } 

    //Open test page 
    public void openTest3() { 
    //create new textview 
    Intent i = new Intent(getApplicationContext(), Test3.class); 
    startActivity(i); 
    } 


} 

我已經宣佈活動在Android Manifest中,我在我的日誌貓中獲得了零錯誤。

+0

其中是test2.xml代碼? –

+0

但是在兩種Java窗體中,我都將實例/ contentView聲明爲正確的形式,所以我不確定這會有所作爲。但我會放棄它。 –

+0

setContentView(R.layout.test2);所以你需要在兩種佈局中都得到你的按鈕名稱,然後用各自的名稱給他們打電話 –

回答

0

更改按鈕的代碼在XML這個

<Button 
    android:id="@+id/btnNext" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_marginBottom="26dp" 
    android:layout_toRightOf="@+id/txtQ1" 
    android:text="Next" /> 

<Button 
    android:id="@+id/btnNext1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/RadioButton03" 
    android:layout_marginTop="14dp" 
    android:layout_toRightOf="@+id/txtTitle" 
    android:text="Next" /> 
因爲您呼叫按鈕,您有問題

有錯誤的ID。檢查test2.xm中的按鈕ID也是如此。它會運行然後

+0

非常感謝你:)。 –

1

您有兩個名爲「btnNext」的按鈕。這就是爲什麼它不起作用。
仔細檢查這一點:

"@+id/btnNext" 

你有相同的ID設置兩次......

相關問題