2011-08-27 99 views
1

我想使用按鈕將當前活動更改爲android中的其他活動。然而,無論何時我點擊按鈕,eclipse調試透視圖都會出現錯誤「未找到源」。這是我用來改變活動的功能Android:使用按鈕事件切換到另一個活動?

public void toManager(){ 
    Intent i = new Intent(getApplicationContext(), DegreeActivity.class); 
    startActivity(i); 
} 

在我的xml文件中,按鈕有一個onClick監聽器。這是XML

<Button 
    android:id="@+id/btn_toDegree" 
    android:text="@string/btn_toDegree" 
    android:textSize="13pt" 
    android:layout_centerVertical="true" 
    android:gravity="center" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:layout_marginLeft="15dip" 
    android:layout_marginRight="15dip" 
    android:onClick="toManager" <!-- This line --> 
    /> 

如果我打電話的第一個活動的onCreate()toManager()功能,它切換到沒有錯誤的一個活動。但是,當我嘗試使用按鈕切換它不起作用。

回答

7

Click處理程序必須像:

public void toManager(View view) { 
    Intent i = new Intent(getApplicationContext(), DegreeActivity.class); 
    startActivity(i); 
} 

Button文檔:

現在,當用戶點擊該按鈕,Android系統調用 活動的selfDestruct(View)方法。爲了使其發揮作用, 方法必須公開並接受View作爲其唯一參數。

+0

哦,我明白了!謝謝。 – deztructicus

+0

你可以忽略它,但處理程序的簽名必須是'public void methodName(View)'。這是因爲Android使用反射來查找處理程序,並且它可以找到您的方法,因爲它具有錯誤的簽名。 – Michael

相關問題