2013-01-03 112 views
0

我有一個ImageButton的:View.setBackground()設置ImageButton的背景嗎?

<ImageButton 
android:id="@+id/nextPageB" 
android:layout_width="50dp" 
android:layout_width="50dp" 
android:layout_alignParentBottom="True" 
android:contentDescription="@string/nextPage" 
android:onClick="NextPage" 
android:src="@drawable/ic_launcher" 
/> 

這是從我的主要活動啓動一個單獨的活動的一部分:

Intent intent = new Intent(this, BookRead.class); 
startActivity(intent); 
在新的活動,我呼籲的ImageButton點擊下一頁方法

一旦:

public void NextPage(View view) 
{ 
    view.setBackgroud(res.getDrawable(R.Drawable.MyNewImage)); 
} 

'水庫' 在我的新的活動定義在onCreate方法:

res = this.getResources(); 

由於某種原因,當我單擊我的ImageButton時,它會更改ImageButton本身而不是活動佈局的背景。

+0

嘗試打印'view'。它返回什麼?它可能會傳遞按鈕而不是 – Jeeter

+0

什麼是res? –

回答

4

imagebutton也是一個視圖,你可能將imagebutton視圖傳遞給NextPage方法。

您可以通過從XML引用它或者執行類似view.getParent()的操作來獲取正確的視圖。

+0

這樣做!謝謝!。我用:查看parentView =(查看)view.getParent();工作很棒! –

2

onClick方法接收實際被點擊的視圖。